社区讨论
40分求助,实在没找到问题
P1011[NOIP 1998 提高组] 车站参与者 2已保存回复 2
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 2 条
- 当前快照
- 1 份
- 快照标识符
- @ly9gks6l
- 此快照首次捕获于
- 2024/07/06 09:41 2 年前
- 此快照最后确认于
- 2024/07/06 11:20 2 年前
aa是a的系数,b是第二站上车的人数,bb是b的系数,s[]是上车的人数
CPP#include<bits/stdc++.h>
using namespace std;
#define ll long long
ll a,n,m,x;
ll s[999],ans[999];
ll aa=0,bb=1,b;
int main(){
cin>>a>>n>>m>>x;
if(x==1||x==2){
cout<<a;
return 0;
}
if(x==3){
cout<<2*a;
return 0;
}
if(x==n){
cout<<0;
return 0;
}
if(x==n-1){
cout<<m;
return 0;
}
for(ll i=3;i<=n-1;i++){
ll cnt=aa+bb;
aa=bb;
bb=cnt;
}
b=(m-(aa*a))/bb;
s[1]=a;
s[2]=b;
ans[1]=a;
ans[2]=a;
aa=0;
bb=1;
for(ll i=3;i<=n-1;i++){
s[i]=s[i-2]+s[i-1];
ans[i]=ans[i-1]+s[i-2];
}
cout<<ans[x];
return 0;
}
回复
共 2 条回复,欢迎继续交流。
正在加载回复...