【题解】Luogu P1011 车站
题目描述
火车从始发站(称为第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 车站相关推荐
- 题解 luogu P2568 GCD
题解 luogu P2568 GCD 时间:2019.3.11 欧拉函数+前缀和 题目描述 给定整数\(N\),求\(1\le x,y \le N\)且\(\gcd(x,y)\)为素数的数对\((x, ...
- [NOIP1998] 提高组 洛谷P1011 车站
题目描述 火车从始发站(称为第1站)开出,在始发站上车的人数为a,然后到达第2站,在第2站有人上.下车,但上.下车的人数相同,因此在第2站开出时(即在到达第3站之前)车上的人数保持为a人.从第3站起( ...
- 洛谷P1011车站问题
题目描述 火车从始发站(称为第 11 站)开出,在始发站上车的人数为 aa,然后到达第 22 站,在第 22 站有人上.下车,但上.下车的人数相同,因此在第 22 站开出时(即在到达第 33 站之前) ...
- 洛谷P1011 车站
题目描述 火车从始发站(称为第 11 站)开出,在始发站上车的人数为 aa,然后到达第 22 站,在第 22 站有人上.下车,但上.下车的人数相同,因此在第 22 站开出时(即在到达第 33 站之前) ...
- luogu P1983 车站分级
题目描述 一条单向的铁路线上,依次有编号为 1, 2, -, n 的 n 个火车站.每个火车站都有一个级别,最低为 1 级.现有若干趟车次在这条线路上行驶,每一趟都满足如下要求:如果这趟车次停靠了火车 ...
- 题解P3942_将军令
初始数组忘了赋初值,,,我真是个机灵鬼 还有这题是三倍经验P2279&&P2016,这题的实现思想来自P2279首个题解 luogu 简化题意 给你一棵树,你有一些可以覆盖范围为$k$ ...
- 蓝桥杯取球博弈c语言算法,1298: [蓝桥杯2016初赛]取球博弈 (博弈)
1298: [蓝桥杯2016初赛]取球博弈 (博弈) 1298: [蓝桥杯2016初赛]取球博弈 (博弈) #include #include #include #include #include # ...
- luogu P1549 棋盘问题(2) 题解
luogu P1549 棋盘问题(2) 题解 题目描述 在\(N * N\)的棋盘上\((1≤N≤10)\),填入\(1,2,-,N^2\)共\(N^2\)个数,使得任意两个相邻的数之和为素数. 例如 ...
- 牛客题霸 车站建造问题 C++题解/答案
题目描述 有108个村庄排在一条公路上,依次编号为0~108-1,相邻村庄距离为1,其中有n个村庄居住着牛牛,居住着牛牛的村庄从小到大依次为a0~an-1,其中保证a0=0. 现在需要建设车站,有两个 ...
最新文章
- Python使用matplotlib可视化发散型点图、发散型点图可以同时处理负值和正值、并按照大小排序区分数据、为发散型点图添加数值标签(Diverging Dot Plot )
- 学什么都不容易!学好一样更不容易!
- STL的一些基本概念
- share with用法
- 《Programming WPF》翻译 第9章 6.我们进行到哪里了?
- 香甜的黄油(信息学奥赛一本通-T1345)
- 开启hidpi_MacOS Big Sur系统不需要通过获取系统权限而获取Hidpi
- mysql 大量数据 更改索引_MySql——来自狂神说Java - 贤贤贤sir
- super(XXXX,self).__init__()在类中的作用
- vue 一个组件内多个弹窗_使用vue实现各类弹出框组件
- Android杂谈--ListView之ArrayAdapter的使用
- java虚拟机-d参数配置_Java虚拟机(五):常用JVM配置参数
- Pythonic是什么?
- 扩展MemberShip的使用:
- 基于JAVA《Python程序设计》教辅系统计算机毕业设计源码+系统+lw文档+部署
- BDA,CDA,CPDA哪个证相对可靠?哪个含金量高?具体考试内容?
- 万用表如何进行欧姆校零
- mysql删除某天前的数据
- windows端口配置
- PMP学习考试感悟之——坚持、努力是唯一法宝
热门文章
- SAP S/4HANA使用ABAP获得生产订单的状态 1
- SAP Cloud for Customer和SAP CRM的行业解决方案列表
- python flask 大文件 下载_flask - python上传大文件到服务器报错
- typora居中_Windows系统下Typora的安装和语法
- 函数式编程 lambda表达式
- serverless搭建html,基于ServerLess的极简网页计数器:源码分析与实践
- Java基本sql_常用sql
- mysql根据id删除数据sql语句_sql delete根据id删除数据库
- laravel increment出现了翻倍递增_中国股市:如何判断“强庄股”的出现,看懂主力心甘情愿送钱上门...
- python出题器_随手写的python出题小玩意