安徽省2012年“达内杯”大学生程序设计竞赛
Problem G奇怪的电梯
Description
有一个奇怪的电梯,一共N层,每一层都有一个对应的数字Ki(1 <= Ki <= N)。电梯在第i 层停靠时不能选择去哪一层,只能按向上或者向下按钮,然后电梯就会相应的往上或者往下运行到i+Ki层或者i-Ki层,并且电梯不能运行到超过N层或者低于1层。现在问题是:你在A层,想去B层,你必须按向上或者向下按钮至少多少次才能如愿? Input
有多组测试数据。 每组测试数据有两行。
第一行包含3个整数N,A,B(1 <= N ,A,B <= 200)。 第二行有N个整数,分别是K1,K2,...Kn。 输入以一个单独的0结束。 Output
输出从A层到B层必须至少按下按钮的次数。如果从A层不能到达B层,输出-1。
15
安徽省2012年“达内杯”大学生程序设计竞赛
Sample Input 5 1 5 3 3 1 2 5 0
Sample Output 3
16
安徽省2012年“达内杯”大学生程序设计竞赛
Problem H 宝盒密码
Description
勇敢的 Sbarrow 船长驾着白珍珠号,环游大半个地球,历经艰险,终于找到了琼斯的宝盒。可惜宝盒异常坚固,怎么都打不开,上面只有四个每隔一分钟变化一次的整数,还有一个用来输入密码的锁。Sbarrow 尝试了很多密码,但都不对。不过一天夜里,他得到了启迪,卡里布索女神托梦给他,告诉他:盒子的密码是不断变化的,如果设某一时间盒子上的四个整数,从左到右分别为l,h,a,b则此时盒子的密码为满足以下三个条件的最小的整数 x: 1. l <= x 且 x <= h 2. a mod x = 0 3. x mod b = 0
Sbarrow 虽然勇敢,也很聪明,但他可不是一个优秀的算法专家,现在请你来帮他解决这个问题吧。 Input
首先是一个整数 t,表示有 t 组测试数据。(t <= 1000) 每组有四个整数 l, h, a, b ( 1 <= l, h, a, b <= 10^9 )。 Output
17
安徽省2012年“达内杯”大学生程序设计竞赛
对于每组数据输出一行 \,c 表示第几组测试数据(从1开始), x 为结果,若不存在满足这些条件的整数,则结果为 -1。
Sample Input 2 5 10 18 3 19 21 18 3
Sample Output
Case #1: 6 Case #2: -1
18
安徽省2012年“达内杯”大学生程序设计竞赛
Problem I 法默尔的农场
Description
法默尔有一个农场,农场由很多高低不同的小山丘组成。每到雨季,根据水位的不同,农场中会出现不同数目的“小岛”(当水位大于等于某座山丘的高度时,该山丘就会被淹没)。你要做的是根据给定的水位,计算有多少“小岛”。 农场是一维的,如下图:
当水位为4时,有四个“小岛”; 当水位为5时,有三个“小岛”。 Input
只有一组测试数据。
第一行是一个整数n(1 <= n <= 20000 ),表示有多少山丘。
第二行是n个整数,从左到右,表示每座山丘的高度,每两个数之间用一个空格隔开,(山丘高度大于等于1,小于等于10^8 )。
19