求助!案例可通过,但得分25

P1011 [NOIP1998 提高组] 车站

可以这么写,代码: ```c #include<bits/stdc++.h> using namespace std; int a,n,m,x,ans; int f[20],sum[20]; int main() { ``` cin>>a>>n>>m>>x; ans=a; if(x>=3) ans+=a; if(x>=4) { f[1]=f[2]=1; for(int i=3;i<=n-4;i++) f[i]=f[i-1]+f[i-2]; for(int i=1;i<=n-4;i++) sum[i]=sum[i-1]+f[i]; int y=(m-sum[n-5]*a-ans)/sum[n-4]; ans+=sum[x-4]*a+sum[x-3]*y; } cout<<ans<<endl; return 0; }
by DREAM_flyfish @ 2022-08-25 21:31:52


已经AC了
by DREAM_flyfish @ 2022-08-25 21:32:34


@[JMCJimmyMaker](/user/775490) 纯规律大概不行
by xiaoshuaibi @ 2023-02-03 22:18:58


@[JMCJimmyMaker](/user/775490) 求关注 AC ``` #include<iostream> using namespace std; int ta[21],tb[21]; int main() { int a,n,m,x; cin>>a>>n>>m>>x; ta[1]=1;ta[2]=1;ta[3]=2; for(int i=4;i<n;i++) { ta[i]=ta[i-1]+ta[i-2]-1; tb[i]=tb[i-1]+tb[i-2]+1; } int b=(m-a*ta[n-1])/tb[n-1]; cout<<ta[x]*a+tb[x]*b<<endl; return 0; }
by xxc123 @ 2023-04-11 21:46:22


|