题目描述

火车从始发站(称为第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

思路

. 1 2 3 4
上车人数 a b a+b a+2b
下车人数 0 b b a+b
车上人数 a a 2a 2a+b

可以推出
第i站上车人数为$f[i-2]*a+f[i-1]*b (i>=2)$

下车人数为$f[i-3]*a+f[i-2]*b (i>=3)$

车上人数为$f[i-2]*a+a+f[i-1]*b-b (i>=2)$

  • 由题可知最后一站所有人都下车,所以下车的人数就是倒数第二站车上的总人数

  • $$m= f[i-2]*a+a+f[i-1]*b-b$$

  • 带入公式即可得

代码

 1 #include<cstdio>
 2 int f[25]={0,1};
 3 int main(){
 4     int n,a,m,x,b;scanf("%d%d%d%d",&a,&n,&m,&x);
 5     for(int i=2;i<n;i++)f[i]=f[i-1]+f[i-2];
 6     b=(m-f[n-3]*a-a)/(f[n-2]-1);
 7     if(x==1)printf("%d",a);
 8     else printf("%d",(f[x-2]+1)*a+(f[x-1]-1)*b);
 9     return 0;
10 }

转载于:https://www.cnblogs.com/bbqub/p/8425341.html

【题解】Luogu P1011 车站相关推荐

  1. 题解 luogu P2568 GCD

    题解 luogu P2568 GCD 时间:2019.3.11 欧拉函数+前缀和 题目描述 给定整数\(N\),求\(1\le x,y \le N\)且\(\gcd(x,y)\)为素数的数对\((x, ...

  2. [NOIP1998] 提高组 洛谷P1011 车站

    题目描述 火车从始发站(称为第1站)开出,在始发站上车的人数为a,然后到达第2站,在第2站有人上.下车,但上.下车的人数相同,因此在第2站开出时(即在到达第3站之前)车上的人数保持为a人.从第3站起( ...

  3. 洛谷P1011车站问题

    题目描述 火车从始发站(称为第 11 站)开出,在始发站上车的人数为 aa,然后到达第 22 站,在第 22 站有人上.下车,但上.下车的人数相同,因此在第 22 站开出时(即在到达第 33 站之前) ...

  4. 洛谷P1011 车站

    题目描述 火车从始发站(称为第 11 站)开出,在始发站上车的人数为 aa,然后到达第 22 站,在第 22 站有人上.下车,但上.下车的人数相同,因此在第 22 站开出时(即在到达第 33 站之前) ...

  5. luogu P1983 车站分级

    题目描述 一条单向的铁路线上,依次有编号为 1, 2, -, n 的 n 个火车站.每个火车站都有一个级别,最低为 1 级.现有若干趟车次在这条线路上行驶,每一趟都满足如下要求:如果这趟车次停靠了火车 ...

  6. 题解P3942_将军令

    初始数组忘了赋初值,,,我真是个机灵鬼 还有这题是三倍经验P2279&&P2016,这题的实现思想来自P2279首个题解 luogu 简化题意 给你一棵树,你有一些可以覆盖范围为$k$ ...

  7. 蓝桥杯取球博弈c语言算法,1298: [蓝桥杯2016初赛]取球博弈 (博弈)

    1298: [蓝桥杯2016初赛]取球博弈 (博弈) 1298: [蓝桥杯2016初赛]取球博弈 (博弈) #include #include #include #include #include # ...

  8. luogu P1549 棋盘问题(2) 题解

    luogu P1549 棋盘问题(2) 题解 题目描述 在\(N * N\)的棋盘上\((1≤N≤10)\),填入\(1,2,-,N^2\)共\(N^2\)个数,使得任意两个相邻的数之和为素数. 例如 ...

  9. 牛客题霸 车站建造问题 C++题解/答案

    题目描述 有108个村庄排在一条公路上,依次编号为0~108-1,相邻村庄距离为1,其中有n个村庄居住着牛牛,居住着牛牛的村庄从小到大依次为a0~an-1,其中保证a0=0. 现在需要建设车站,有两个 ...

最新文章

  1. Python使用matplotlib可视化发散型点图、发散型点图可以同时处理负值和正值、并按照大小排序区分数据、为发散型点图添加数值标签(Diverging Dot Plot )
  2. 学什么都不容易!学好一样更不容易!
  3. STL的一些基本概念
  4. share with用法
  5. 《Programming WPF》翻译 第9章 6.我们进行到哪里了?
  6. 香甜的黄油(信息学奥赛一本通-T1345)
  7. 开启hidpi_MacOS Big Sur系统不需要通过获取系统权限而获取Hidpi
  8. mysql 大量数据 更改索引_MySql——来自狂神说Java - 贤贤贤sir
  9. super(XXXX,self).__init__()在类中的作用
  10. vue 一个组件内多个弹窗_使用vue实现各类弹出框组件
  11. Android杂谈--ListView之ArrayAdapter的使用
  12. java虚拟机-d参数配置_Java虚拟机(五):常用JVM配置参数
  13. Pythonic是什么?
  14. 扩展MemberShip的使用:
  15. 基于JAVA《Python程序设计》教辅系统计算机毕业设计源码+系统+lw文档+部署
  16. BDA,CDA,CPDA哪个证相对可靠?哪个含金量高?具体考试内容?
  17. 万用表如何进行欧姆校零
  18. mysql删除某天前的数据
  19. windows端口配置
  20. PMP学习考试感悟之——坚持、努力是唯一法宝

热门文章

  1. SAP S/4HANA使用ABAP获得生产订单的状态 1
  2. SAP Cloud for Customer和SAP CRM的行业解决方案列表
  3. python flask 大文件 下载_flask - python上传大文件到服务器报错
  4. typora居中_Windows系统下Typora的安装和语法
  5. 函数式编程 lambda表达式
  6. serverless搭建html,基于ServerLess的极简网页计数器:源码分析与实践
  7. Java基本sql_常用sql
  8. mysql根据id删除数据sql语句_sql delete根据id删除数据库
  9. laravel increment出现了翻倍递增_中国股市:如何判断“强庄股”的出现,看懂主力心甘情愿送钱上门...
  10. python出题器_随手写的python出题小玩意