火车过站
来源:互联网 发布:club域名怎么用 编辑:程序博客网 时间:2024/06/10 14:54
问题描述
火车从始发站(称为第1站)开出,在始发站上车的人数为a,然后到达第2站,在第2站有人上、下车,但上、下车的人数相同,因此在第2站开出时(即在到达第3站之前)车上的人数保持为a人。从第3站起(包括第3站)上、下车的人数有一定规律:上车的人数都是前两站上车人数之和,而下车人数等于上一站上车人数,一直到终点站的前一站(第n-1站),都满足此规律。现给出的条件是:共有N个车站,始发站上车的人数为a,最后一站下车的人数是m(全部下车)。试问x站开出时车上的人数是多少?
输入格式
输入包含一行, 有四个正整数:a(a<=100),n(n<=20),m(m<=10000)和x(x<=19)
输出格式
输出为一个整数,为x站开出时车上的人数。
火车从始发站(称为第1站)开出,在始发站上车的人数为a,然后到达第2站,在第2站有人上、下车,但上、下车的人数相同,因此在第2站开出时(即在到达第3站之前)车上的人数保持为a人。从第3站起(包括第3站)上、下车的人数有一定规律:上车的人数都是前两站上车人数之和,而下车人数等于上一站上车人数,一直到终点站的前一站(第n-1站),都满足此规律。现给出的条件是:共有N个车站,始发站上车的人数为a,最后一站下车的人数是m(全部下车)。试问x站开出时车上的人数是多少?
输入格式
输入包含一行, 有四个正整数:a(a<=100),n(n<=20),m(m<=10000)和x(x<=19)
输出格式
输出为一个整数,为x站开出时车上的人数。
/* * 第几站 上车 下车 车上人数 * 1 a1 0 a1 * 2 a2 a2 a1 * 3 a1+a2 a2 a1+a1 * 4 a1+a2+a2 a1+a2 a1+a1+a2 * 5 a1+a2+a1+a2+a2 a1+a2+a2 a1+a1+a2+a1+a2 * . . . . * . . . . * . . . . * 到最后一站的人数就是m ,全部下完 * 思路,只要统计出a1个数和a2的个数就能求出a2,其中a1已经给出,m的数量就是n-1车站的开车的人数 * a2=(m-a1*a1的个数)/a2的个数 * * */import java.util.*;public class Main3 {public static int a, n, m, x;// 上车的人数public static int[][] arrays;// 车上人数public static int[][] sum;public static void main(String[] args) {// TODO Auto-generated method stubScanner sc = new Scanner(System.in);a = sc.nextInt();n = sc.nextInt();m = sc.nextInt();x = sc.nextInt();arrays = new int[20][2];sum = new int[20][2];// 上车人数arrays[0][0] = 1;arrays[0][1] = 0;arrays[1][0] = 0;arrays[1][1] = 1;for (int i = 2; i < n - 1; i++) {arrays[i][0] = arrays[i - 1][0] + arrays[i - 2][0];arrays[i][1] = arrays[i - 1][1] + arrays[i - 2][1];}// 车上人数sum[0][0] = 1;sum[0][1] = 0;sum[1][0] = 1;sum[1][1] = 0;for (int i = 2; i < n - 1; i++) {sum[i][0] = sum[i - 1][0] + arrays[i - 2][0];sum[i][1] = sum[i - 1][1] + arrays[i - 2][1];}// System.out.println(sum[n - 2][0] + " " + sum[n - 2][1]);// 求a2int a2 = (m - sum[n - 2][0] * a);if (a2 != 0) {a2 = a2 / sum[n - 2][1];}// 求第x站的人数System.out.println(sum[x - 1][0] * a + sum[x - 1][1] * a2);}}
0 0
- 火车过站
- Tsinsen A1117 火车过站
- HDU-2063 过火车
- noip1998火车过站 (斐波那契数列)
- 火车入站
- 火车
- 火车
- 火车
- 火车
- 火车
- Linux终端下显示急驶而过的火车
- 火车出站入站问题
- CSU1757-火车入站-模拟
- 火车进出站问题---栈
- CSU 1757 火车入站
- 火车卧铺, 乘客自己叠床单,过完年又长了见识!!
- HDU 1022 火车进出站问题
- HDU1022--火车进出站问题Ⅰ
- 第五周作业——有向图邻接表表示及反向图构造
- 经典排序之插入排序
- 今天是我计划的第一天
- uva 11609 - Teams(组合数学+快速幂)
- 百度suggestion功能的Trie实现(附代码)
- 火车过站
- 背包问题
- 【转】Java的时间处理(续<Java日期的创建和使用>)
- xcode5 工程不用ARC
- ZOJ 2208 水题
- linux signal
- iOS中高级工程师所要知道的问题
- opencv下XML 文件的读写
- php中static静态变量的使用方法详解