火车上的人数

GitHub跳转原题关系图返回列表

题意与原解析均从本地 OpenJudge 缓存迁移。

OJ: noi_openjudge

题目 ID: ch0201-8759

难度:未知

标签:

日期: 2026-07-30 23:01

题意

完整题面见同目录的 problem.md

思路

代码

cpp
#include <bits/stdc++.h>
using namespace std;

int a,n,m,x;    

int up[20]; // 上车人数
int save[20];// 剩余人数

// t 2站上车的人数
int check(int t){
    up[1] = a;
    save[1] = a;
    save[2] = a;
    up[2] = t;
    int i;
    for(i=3;i<n;i++){
        up[i] = up[i-1]+up[i-2];
        save[i] = save[i-1] + up[i] - up[i-1];
    }
    if( save[n-1] == m)
        return 1;
    return 0;
}
int main(){
    scanf("%d%d%d%d",&a,&n,&m,&x);

    int i;
    for(i=0;1;i++){
        if( check(i)){
            printf("%d\n",save[x]);
            break;
        }
    }

    return 0;
}

复杂度

总结