[LUOGU1011]車站

題目描述

火車從始發站(稱爲第1站)開出,在始發站上車的人數爲a,然後到達第2站,在第2站有人上、下車,但上、下車的人數相同,因此在第2站開出時(即在到達第3站之前)車上的人數保持爲a人。從第3站起(包括第3站)上、下車的人數有一定規律:上車的人數都是前兩站上車人數之和,而下車人數等於上一站上車人數,一直到終點站的前一站(第n-1站),都滿足此規律。現給出的條件是:共有N個車站,始發站上車的人數爲a,最後一站下車的人數是m(全部下車)。試問x站開出時車上的人數是多少?

輸入輸出格式

輸入格式:
a(<=20),n(<=20),m(<=2000),和x(<=20),

輸出格式:
從x站開出時車上的人數。

輸入輸出樣例

輸入樣例#1:
5 7 32 4
輸出樣例#1:
13

#include<cstdio>
#include<iostream>
using namespace std; 
int pa[20]={0,0,1,2,2,3,4,6,9,14,22,35,56,90,145,234,378,611,988,1598};
int px[20]={0,0,0,0,1,2,4,7,12,20,33,54,88,143,232,376,609,986,1596};
int a,n,m,x;
int main()
{

    scanf("%d%d%d%d",&a,&n,&m,&x);
    int b=(m-a*pa[n-1])/px[n-1];
    printf("%d",a*pa[x]+b*px[x]);
    return 0;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章