而且,为什么样例的答案是13??
第一站上车5人,车上有5人,
第二站上车5人,下车5人,车上有5人
第三站上车5+5=10人,下车5人,车上10人
第四站上车5+10=15人,下车10人,车上15人
那为什么答案是13
by AFOier @ 2016-10-02 21:29:04
你怎么知道第二站上了五个人?
by luaddict @ 2016-10-04 15:45:57
它只说上下车人数相等
从第三站开始才是按照规律来
by luaddict @ 2016-10-04 15:46:41
```cpp
#include<iostream>
using namespace std;
int s[101],t[101];
int main()
{
int a,b,c,i,j,k,n,m,x,sb;
cin>>a>>n>>m>>x;
s[3]=1;
s[4]=1;
t[4]=1;
t[5]=2;
for(i=5;i<=n-1;i++)
s[i]=s[i-1]+s[i-2];
for(i=4;i<=n-1;i++)
t[i]=t[i-1]+t[i-2]+1;
k=m-(s[n-1]+1)*a;
sb=k/(t[n-1]);
cout<<(s[x]+1)*a+(t[x])*sb;
}
```
by luaddict @ 2016-10-04 15:50:42
那还不是相当于第二站不加不减吗?
by coldskin233 @ 2017-03-23 12:06:39
m是用来求第二站上车人数的。
by AdzearDisjudge @ 2017-04-29 14:49:06
已知第一站上了a个人
假设第二站上了b个人;
若每站都全部下车;
可以列一个数列,
数列的通项公式是可以推出来的;
根据后面推出来的一个等式:
xa+yb=m;
x,y 都是可以推出来的系数;
一元一次方程,解出b;
x站开车时的人数就是当x站全部下车的人数;
再有x+1站的系数与a,b相乘;
得答案!
by liu2001 @ 2017-07-27 11:02:57
@[lushangyin](/space/show?uid=24805) 谢谢大佬!!!
by 青珹 @ 2018-03-14 18:43:01