40分求助,实在没找到问题
查看原帖
40分求助,实在没找到问题
1051310
wang6w6楼主2024/7/6 09:40
aa是a的系数,b是第二站上车的人数,bb是b的系数,s[]是上车的人数
#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;
}
2024/7/6 09:40
加载中...