[A] How many Fibs?
Fibonacci数列的定义如下:
f 1 = 1
f 2 = 2
f n = f n-1 + f n-2 ( for n>=3)
给你2个数a和b,请算出有多少个Fibonacci数介于a和b之间。
Input
每一列测试资料有2个整数分别代表a,b(a <= b <= 10 100)
a=b=0代表输入结束。
Output
每列测试资料输出一列整数,就是共有多少个Fibonacci数(f i)介于a,b之间。(a<= f i <=b)
Sample Input
10 100 1234567890 9876543210 0 0
Sample Output
5 4
[B] Queue
有N 个人排成一列,每个人的身高都不一样。当我们从前面看过去可以看到P 个人,而当我们从后面看过去的时候可以看到R 个人。这是因为他们的身高不一样且彼此互相遮盖的关系。请问这一列人共有多少种不同的排列方式有这样有趣的特性。
Input
输入的第一列有一个整数T (1 <= T <= 10000)代表以下有多少组测试资料。
每组测试资料一列,含有3个正整数N(1 <= N <= 13), P, R。请参考Sample Input。
Output
对每一组测试资料输出共有多少种不同的排列方式,使得从前面看过去可以看到P 个人,而从后面看过去的时候可以看到R 个人。
Sample Input | Sample Output |
3 10 4 4 11 3 1 3 1 2 | 90720 1026576 1 |
[C] Power Transmission
DESA正在进行一项电力传输的计画。在Barisal 这个地方新建了一座发电厂,它的主要目的是提供电力给Dhaka这座城市。由于Dhaka 的人口数相当多,DESA 希望尽可能透过网路传输最大的电力给它。但是电力在传输时会因电阻而损失,所以他们想要使用变电装置来达到不损失电力的目标。
每个变电装置有不同的容量。这指的是假如一个变电装置得到100单位的电,而它的容量只有80个单位,那么就会损失20单位的电。并且连接变电装置之间的电线也是有一定的容量的,例如容量20单位的电线无法传输超过20单位的电。DESA 想要知道在没有电力损失的情况下,最多可以传输的电力是多少。这就是你的任务。
Input
输入含有多组测试资料。
每组测试资料的第一列,有1个正整数N(1 <= N <= 100)代表变电装置的数目(编号1到N)。下一列有N个正整数代表这N个变电装置的容量。接下来的一列有一个正整数M,代表各变电装置间连接电线的数目。再接下来的M列每列有3个正整数(ij C)。i, j为变电装置的编号,C为连接i, j的电线的容量。电力能够从i变电装置传输到j变电装置。再接下来的一列有2个整数B,D。B代表直接连接发电厂的变电装置的数目,D代表直接连接到Dhaka的变电装置的数目。这些连接的电线是特别的,他们的容量是无限大(上图以蓝粗线表示)。下一列有B+D个变电装置的编号,前B个 代表直接连接Barisal发电厂的变电装置编号,剩下的D个为直接连接到Dhaka的变电装置的编号。连接Barisal的变电装置不会连接到Dhaka。
请参考Sample Input,上图即为Sample Input第一组测试资料。
Output
对每一组测试资料输出一列,最多可以从Barisal传送多少电力到Dhaka。
Sample Input | Sample Output |
4 10 20 30 40 6 1 2 5 1 3 10 1 4 13 2 3 5 2 4 7 3 4 20 3 1 1 2 3 4 2 50 100 1 1 2 100 1 1 1 2 | 37 50 |
[D] Dungeon Master
原翻译者:jkto
你陷入一个3D 城堡的迷宫中, 需要找到一条快速的路逃出去!这个城堡由空的或填满石头的立方体组成, 向东、西、南、北以及上、下移动一个单位个需要一分钟。你不能斜的移动, 并且迷宫最外层的每一面都包含着坚固的石墙。可能逃的出去吗? 如果可能的话,,最少需要花多少时间呢?
Input
输入含有多组测试资料,每组测试资料的第一列有3个正整数L、R、C(均介于1到30之间)。L表示迷宫有几层 R和C表示每层有几列几行之后共有L个区块(每个区块代表一层),每个区块含有R 列,每列有C个字元。每个字元表示迷宫的一个单位。' # '表示这个单位充满石头,而' . '表示这是个空的空间。你的起始位置在标明' S '的地方,出口在' E '之处.在一层描述完后有一列空白区隔。若L = R = C=0 代表输入结束,请参考Sample Input。
Output
每个迷宫有一列的输出。如果可以达到出口的话,请输出: Escaped in x minute(s). 其中的 x 表示最短离开时间。如果没有办法逃出去请输出: Trapped!Sample Input
3 4 5 S.... .###. .##.. ###.# ##### ##### ##.## ##... ##### ##### #.### ####E 1 3 3 S## #E# ### 0 0 0
Sample Output
Escaped in 11 minute(s). Trapped!
[E] Coin Toss
掷硬币常常被用来决定一件事情。通常会使用一枚公平的硬币,就是两面(H 和T)出现的机率一样。在这个问题中硬币要被掷n 次,其结果可以用一字串来表示。例如: n=3, 则有8 种可能的情况:
HHH HHT HTH HTT THH THT TTH TTT
我们有兴趣的是H连续出现的情况,在上面的情况中,3个H连续的有1种,2个H连续的有3种,至少有1个H的有7种。假设一枚硬币被掷n次,可能的结果有2 n种,这其中有多少种含有连续至少k个H。
Input
输入含有多组测试资料。每组测试资料一列,含有2 个正整数n 和k ( 1 <= k <= n <= 100)。
Output
对每一组测试资料输出一列,输出有多少种含有连续至少k 个H。
Sample Input | Sample Output |
4 1 4 2 4 3 4 4 6 2 99 67 100 24 | 15 8 3 1 43 73014444032 2946755075273927119863799 |
[F] !!REALLY STRANGE!!
Raju刚获得大学理学士的学位。他出社会的第一个工作是到某地区调查该地被划分为多少块不同的区域。他发现那里的人用圆来画区域,每2个圆一定相交于2点且不会有三个圆相交于同一点。由于人数实在太多了,Raju需要你的帮忙计算出这些圆把这地区切割成多少块不同的区域。以下的图为2个圆的情况,共有4个不同的区域。
Input
每组测试资料一列。含有1个整数n(0 =< n <= 10 100)。
Output
对每组测试资料输出一列,这n 个圆把这地区切割成多少块不同的区域。
Sample Input | Sample Output |
2 | 4 |
[G] Knight Moves
你的一个朋友正在做一个关于西洋棋中骑士旅行问题(Traveling Knight Problem)的研究,他希望你帮他解决一个问题:就是给你2个格子的位置X及Y,请你找出骑士从X走到Y最少需要走几步。
Input
每笔测试资料一列。每列有2个西洋棋的座标位置。每个位置座标是由一个英文字母(ah,代表棋盘的第几栏)及一个数字(1-8,代表棋盘的第几列)组成。
Output
对每一列输入,请输出" To get from xx to yy takes n knight moves. ".
Sample Input
e2 e4 a1 b2 b2 c3 a1 h8 a1 h7 h8 a1 b1 c3 f6 f6
Sample Output
To get from e2 to e4 takes 2 knight moves. To get from a1 to b2 takes 4 knight moves. To get from b2 to c3 takes 2 knight moves. To get from a1 to h8 takes 6 knight moves. To get from a1 to h7 takes 5 knight moves. To get from h8 to a1 takes 6 knight moves. To get from b1 to c3 takes 1 knight moves. To get from f6 to f6 takes 0 knight moves.
[G] The Dole Queue
为了缩短领救济品的队伍,NNGLRP决定了以下策略:每天所有来申请救济品的人会被放在一个大圆圈,面朝里面。选定一个人为编号1 号,其他的就从那个人开始逆时针开始编号直到N。一个官员一开始逆时针数,数k 个申请者,然后另一个官员第N 个始顺时针方向数m 个申请者,这两个人就被送去再教育。如果两个官员数的是同一个人,那个人则被送去从政,然后2个官员再在剩下的人里面继续选直到没人剩下来,注意两个被选中的人是同时走掉的,所以就有可能两个官员选中一个人。
Input
输入含有多组测试资料,每组测试资料一列含有三个数N,k 和m(k, m > 0,0<N<20)。
当输入为0 0 0 代表输入结束。
Output
对每组测试资料输出一列。输出被选中的申请者的编号顺序(一对一对的)。每个数的宽度为3 。每一对前面的那个编号为逆时针数的官员选出的,后面的那个编号为顺时针数的官员选出的(但是如果这2个官员选出同一个人,那就只会有一个编号)。每一对之间以逗号分开。格式请参考Sample Output。
Sample Input | Sample Output |
10 4 3 13 17 42 7 8 47 0 0 0 | 4 8, 9 5, 3 1, 2 6, 10, 7 4 11, 10 1, 8 6, 13 7, 3, 5 12, 9 2 1 3, 5 7, 2 4, 6 |
Translated by rong juancheng