找规律 递推
来源:互联网 发布:11选5的99算法 编辑:程序博客网 时间:2024/05/02 21:39
00011:火车站
- 查看
- 提交
- 统计
- 提问
- 总时间限制:
- 1000ms
- 内存限制:
- 1024kB
- 描述
火车从始发站(称为第1站)开出,在始发站上车的人数为a,然后到达第2站,在第2站有人上、下车,但上、下车的人数相同,因此在第2站开出是(即在到达第3 站之前)车上的人数保持为a人。从第3站起(包括第3站)上、下车的人数有一定的规律:上车的人数都是前两站上车人数之和,而下车人数等于上一站上车人数,一直到终点站的前一站(第n-1站),都满足此规律。现给出的条件是:共有N个车站,始发站上车的人数为a,最后一站下车的人数是m(全部下车)。试问从x站开出是车上的人数是多少?若无解输出“No answer.”(所有数据均在longint范围内)。
- 输入
- 一行,获得a,n,m,x
- 输出
- x站开出时车上的人数
- 样例输入
1 6 7 3
- 样例输出
2
- 提示
- 所有的数据均在Longint的范围内
#include<cstring>#include<iostream>#include<cstdio>#include<algorithm>using namespace std;int a[100010];//a的个数int b[100010];//第二站上车的人的个数int main(){ int aa,n,m,x; scanf("%d%d%d%d",&aa,&n,&m,&x); if(x==1||x==2) printf("%d\n",aa); else if(x>2) { a[3]=1; b[3]=0; a[4]=0; b[4]=1; for(int i=5;i<=n;i++) { a[i]=a[i-1]+a[i-2]; b[i]=b[i-1]+b[i-2]; } m=m-aa; int sum1=0,sum2=0; for(int i=3;i<n;i++) { sum1+=a[i]; sum2+=b[i]; } if((m-sum1*aa)%sum2==0) { int mm=(m-sum1*aa)/sum2; int sum=aa; for(int i=3;i<=x;i++) sum+=a[i]*aa+b[i]*mm; printf("%d\n",sum); } else { printf("No answer.\n"); } } else printf("No answer.\n"); return 0;}
0 0
- 找规律 递推
- HDU2058 找规律+递推
- POJ 3517 找规律、递推
- 关于递推的程序,关键是找规律!!
- nyist 982 Triangle Counting(数学题,找规律 递推)
- UVa 1647 - Computer Transformation(找规律+递推)
- HDOJ-2050(递推,找规律)(折线分割平面)
- F(k)<(维护+枚举)\(找规律+递推+枚举)>
- 递推:Number Sequence(mod找规律)
- HDU 2050:折线分割平面(找规律,递推)
- CSU 1972: 大梵天的恩赐 <递推,找规律>
- UVAlive-6577 Binary Tree(递推+找规律)
- Maximum Value Problem FZU 2037 找规律 递推
- //数学基础-推公式找规律
- 递归 递推 规律
- hdu1290 - 献给杭电五十周年校庆的礼物 (递推求解)(找规律)
- 杭电2524 矩形A + B(找规律,递推 水题)
- HDOJ 题目1165 Eddy's research II(递推,找规律)
- 网络流Ford-fulkerson算法及dinic算法
- 陶哲轩实分析 5.6 节习题试解
- 什么是网关,路由,dns,通俗讲解。
- git的使用
- 万科企业宗旨、愿景与核心价值观
- 找规律 递推
- POJ 1862 Stripies 【贪心】
- 杂记:Atmel sama5d3 Serial Peripheral Interface (SPI)
- Android studio 截取XML预览图
- PTS/DTS到毫秒的转换
- Java并发编程:并发容器之CopyOnWriteArrayList(转载)
- Java 循环结构for、do...while、while
- Android JNI第一天
- 动画的简单讲解之逐帧动画