Run ID:32170

提交时间:2022-07-23 10:53:13

#include<iostream> using namespace std; int main(){ int num[20],up[20],down[20];//分别表示每站人数,上车人数,下车人数 int a,n,m,x; cin>>a>>n>>m>>x; num[1]=a,up[1]=a,down[1]=0; for(int k=0;k<=m;++k){//枚举第二站上车人数 up[2]=k,down[2]=k,num[2]=a; for(int i=3;i<=n-1;++i){//第三站循环到n-1站 up[i]=up[i-1]+up[i-2]; down[i]=up[i-1]; num[i]=num[i-1]+up[i]-down[i]; } if(num[n-1]==m){//倒数第二站总共m人 cout<<num[x];//找到答案输出第x站的人数 return 0; } } cout<<"No answer."<<endl; return 0; }