华师一附中OI组

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 862|回复: 1
打印 上一主题 下一主题

P1011 车站

[复制链接]

50

主题

215

帖子

619

积分

高级会员

Rank: 4

积分
619
跳转到指定楼层
楼主
发表于 2018-8-20 12:01:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
https://www.luogu.org/problemnew/show/P1011

火车:
火车从始发站(称为第1站)开出,在始发站上车的人数为a,然后到达第2站,在第2站有人上、下车,但上、下车的人数相同,因此在第2站开出时(即在到达第3站之前)车上的人数保持为a人。从第3站起(包括第3站)上、下车的人数有一定的规律:上车的人数都是前两站上车人数之和,而下车人数等于上一站上车人数,一直到终点站的前一站(第n-1站),都满足此规律。现给出的条件是:共有N个车站,始发站上车的人数为a,最后一站下车的人数是m(全部下车)。试问从x站开出时车上的人数是多少?
输入:输入文件仅有一行,为四个整数a,n,m和x。(n<=23)
输出:输出x站开出时车上的人数。
输入输出举例:
输入tran.in                             则输出train.out
       010 40 6                               8


回复

使用道具 举报

50

主题

215

帖子

619

积分

高级会员

Rank: 4

积分
619
沙发
 楼主| 发表于 2018-8-20 12:01:18 | 只看该作者
  1. #include<iostream>
  2. #include<cstdio>
  3. using namespace std;
  4. int a,n,m,x,k;
  5. struct train
  6. {
  7.     int now,up,off;
  8. }t[30];

  9. int main()
  10. {
  11. //        freopen("train.in","r",stdin);
  12. //        freopen("train.out","w",stdout);
  13.     cin>>a>>n>>m>>x;
  14.     t[1].up=a;t[1].off=0;
  15.     t[1].now=a;
  16.     for(int i=0;i<=999999;i++)
  17.     {
  18.         t[2].up=i;
  19.         t[2].off=i;
  20.         t[2].now=a;
  21.         for(int j=3;j<=n-1;j++)
  22.             {
  23.                     t[j].up=t[j-1].up+t[j-2].up;
  24.                     t[j].off=t[j-1].up;
  25.                     t[j].now=t[j-1].now+t[j-1].up+t[j-2].up-t[j-1].up;
  26.             ///        cout<<t[j].up<<" "<<t[j].off<<" "<<t[j].now<<endl;
  27.             }
  28.             if(t[n-1].now==m)
  29.             {
  30.             cout<<t[x].now<<endl;
  31.         /*  for(int j=1;j<=n;j++)
  32.             cout<<t[j].up<<" "<<t[j].off<<" "<<t[j].now<<endl;*/
  33.   //          fclose(stdin);
  34.     //        fclose(stdout);
  35.             return 0;               
  36.         }
  37.     }
  38. }
复制代码
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|服务支持:DZ动力|华师一附中OI组  

GMT+8, 2024-11-2 02:31 , Processed in 0.160532 second(s), 22 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表