40pts求助,做法很奇怪

P1011 [NOIP1998 提高组] 车站

```cpp #include<bits/stdc++.h> using namespace std; inline int alis(int n){ if(n==1 || n==2){ return 1; }else if(n==3){ return 2; }else{ return alis(n-2)+alis(n-1)-1; } } inline int blis(int n){ if(n==1 || n==2 || n==3){ return 0; }else{ return blis(n-2)+blis(n-1)+1; } } inline int b(int s,int en,int ep){ return (ep-s*alis(en-1))/blis(en-1); } int station(int s,int en,int ep,int x){ if(x==1 || x==2)return s; else if(x==3)return s*2; else return s*alis(x)+b(s,en,ep)*blis(x); } int main(){ int a,n,m,x; cin>>a>>n>>m>>x; cout<<station(a,n,m,x); return/*191981*/0; } ``` 确实很奇怪
by __notTrueLight__ @ 2024-05-26 12:52:28


|