[翻译]ACMer 2013 Daily Training- 12th Mar for 11x&&12x

[A] Burger

原翻译者:kcwu

在Clintion 夫妇的双胞胎兄弟Ben, Bill 十岁生日的那天,他们在纽约的一家麦当劳开了一个生日宴会。包括Ben 和Bill 两人,总共有20 个小朋友参加。麦当劳叔叔做了10 个猪肉汉堡还有10 个起司汉堡,他从坐在Bill 左边的那位小女孩发起。Ben 坐在Bill 的右边。麦当劳叔叔用丢一公平硬币的方式来决定这个女孩吃什么,人头代表猪肉汉堡,反面代表起司汉堡。他重复用这个方式来决定除了Ben 跟Bill 的其他17 个小朋友吃什么。当轮到Ben 的时候,他不需要丢硬币就知道要吃什么,因为已经没有起司汉堡了,只剩下2 个猪肉汉堡。

麦当劳叔叔对于这件事感到很惊奇,所以他想要知道发生这种情况的机率是多少。请计算出用上述的方式,Ben 跟Bill 两人拿到同一种汉堡的机率是多少。已知麦当劳叔叔每次都准备一样数量的猪肉汉堡及起司汉堡。

Input

输入第一列有一个正整数代表以下有几组测试资料。每组测试资料一列,含有一个偶数[2,4,6,...,100000], 表示宴会中贵宾连同Ben 及Bill 的总人数。

Output

每组测试资料输出Ben 及Bill 得到相同种类汉堡的机率,请输出到小数点后4位。

注意:由于小数精确度的因素,0.0001的误差是被允许的。

Sample Input

6
2
6
10
256
50000
100000

Sample Output

0.0000
0.6250
0.7266
0.9500
0.9964
0.9975

[B] "Accordian" Patience

你的任务是模拟一种叫「Accordian」的纸牌游戏,他的游戏规则如下:

一副扑克牌有52张牌,首先把纸牌一张一张由左到右排好(不能有重叠,所以共有52堆牌,每堆一张),当某一张牌与他左边那张牌或者左边的第三张牌有「Match」的时候,就把这张牌移到那张牌上面去。在这里两张牌「Match」指的是这两张牌的花色(suit)或者点数(rank)一样。当你做了一个移动之后,要察看是否还可以做其他的移动。在任何时间,只有最上面那张牌可以被移动。如果因为移动一张牌使得产生一个空格(也就是被移动的那堆牌只有一张牌),你必须把右边所有的牌堆往左移一格。如此不断的寻找可移动的牌,直到没有一张牌可以移动游戏就结束了。

在选择可以移动的牌的时候可能有些状况会发生。如果有两张牌都可以移动,你应该要移动最左边的那张牌。当一张牌可以被移动到左边一格,或左边三格的时候,你必须移动到左边三格。

Input

输入包含多组测试资料。每组测试资料两列,每列有26张牌的资料。每张牌以2个字元代表。第一个字元代表牌的点数(A=Ace, 2~9, T=10, J=Jack, Q=Queen, K=King),第二个字元代表牌的花色(C=Clubs, D=Diamonds, H=Hearts, S=Spades)

若遇到仅含#的一列代表输入结束。请参考Sample Input。

Output

对每组测试资料输出游戏结束时剩下几堆牌,以及每堆牌有多少张牌。请注意如果只有1堆牌,pile后没有加s,请参考Sample Output。

Sample input

QD AD 8H 5S 3H 5H TC 4D JH KS 6H 8S JS AC AS 8D 2H QS TS 3S AH 4H TH TD 3C 6S
8C 7D 4C 4S 7S 9H 7C 5D 2S KD 2D QH JD 6D 9D JC 2C KH 3D QC 6C 9S KC 7H 9C 5C
AC 2C 3C 4C 5C 6C 7C 8C 9C TC JC QC KC AD 2D 3D 4D 5D 6D 7D 8D TD 9D JD QD KD
AH 2H 3H 4H 5H 6H 7H 8H 9H KH 6S QH TH AS 2S 3S 4S 5S JH 7S 8S 9S TS JS QS KS
#

Sample Output

6 piles remaining: 40 8 1 1 1 1
1 pile remaining: 52

[C] Freckles

给你一些点的座标,把这些点用墨水画直线连起来,使得所有的点最后都连在一起。你的任务是写一个程式找出墨水画出的长度最小是多少?

Input

输入的第一列有一个整数,代表以下有几组测试资料。

每组测试资料的第1列有一个整数n(0< n <= 100),代表点的个数。接下来有n列代表这n个点的座标,每列有2个实数。

输入的第一列与第一组测试资料间空一列,各测试资料间亦空一列。请参考Sample Input

Output

对每一组测试资料输出墨水画出的长度最小是多少。测试资料间亦请空一列。

Sample Input

2

3
1.0 1.0
2.0 2.0
2.0 4.0

2
1.0 1.0
2.0 2.0

Sample Output

3.41

1.41

[D] Foreign Exchange

有一个非营利性的国际性机构执行一项国际交换学生计画。这几年来执行得相当好,有越来越多的学生想要参与这项计画,所以现在请你来帮忙这个机构。

每个提出交换学生申请的人有2项资料:他来自哪一国,他想要交换到哪一国。这个计画只有在每个学生都可以找到一个交换对象的时候才算成功。换句话说,假如有一个学生想要从A国到B国,那么一定要有另一个学生从B国到A国。如果只有50个学生提出申请,要判断这计画是否可行相当简单,然而现在最多已经有 500000个学生了。

Input

输入含有多组测试资料。

每组测试资料的第一列含有1个正整数n( 1 <= n <= 500000),代表提出申请的学生数。接下来的n列,每列有2个整数代表某一个学生从那个国家来,以及要到那个国家去。国家以不为负数的整数来表示。你可以假设这2个数字不会一样。

若n=0,代表输入结束。请参考Sample Input。

Output

对每组测试资料输出一列,如果交换计画可行请输出YES,否则输出NO。

Sample InputSample Output
10 
1 2 
2 1 
3 4 
4 3 
100 200 
200 100 
57 2 
2 57 
1 2 
2 1 
10 
1 2 
3 4 
5 6 
7 8 
9 10 
11 12 
13 14 
15 16 
17 18 
19 20 
0

YES 
NO




















 

[E] The Tourist Guide

G先生是个导游。他现在的任务就是带着游客从一个城市到另一个城市。在这些城市之间有一些道路连接(双向的)。对每个相邻的城市有提供巴士的服务(仅来往于这两个城市之间),且巴士一趟能乘载的旅客有一定的上限。G先生有这些城市的地图以及巴士的资料。他也知道要将游客从一个城市带到另一个城市不是一趟巴士就可以完成的。以下面有7座城市的地图及巴士资讯为例说明:边代表相连的城市有道路相连,边上的数字则是代表巴士能承载的最大人数。

现在,假如G先生想要带99个游客从城市1到城市7,他将至少需要5趟,而且他应该走的路径为:1-2-4-7。但是G先生发现要他自己找出最少需花多少趟来将游客从一个城市带到另一个城市是非常困难的,所以他寻求你的帮助。

Input

输入包含多组测试资料。每组测试资料的第一列含有2个整数N(N <= 100)、R。N代表城市的数目,R则代表连接城市的道路数目。接下来的R列,每列含有三个整数C 1 ,C 2和P。C 1 ,C 2代表城市的号码(介于1到N之间),P(P>1)代表这路段巴士能承载的最大人数。再接下来的一列有3个整数S、D、T,代表G先生将带T个游客从S城市到D城市去。

若N=0, R=0 代表输入结束。请参考Sample Input。

Output

对每组测试资料输出一列。找出G先生最少需花多少趟来将游客从一个城市带到另一个城市。每组测试资料后请输出一空白列,输出格式请参考Sample Output。

Sample InputSample Output
7 10
1 2 30
1 3 15
1 4 10
2 4 25
2 5 60
3 4 40
3 6 20
4 7 35
5 7 20
6 7 30
1 7 99
2 1
1 2 50
2 1 50
0 0
Scenario #1
Minimum Number of Trips = 5

Scenario #2
Minimum Number of Trips = 2

[F] Ants

一群蚂蚁走在一条长度为L 公分的绳子上,每只蚂蚁的速度为1 cm/sec。当一只蚂蚁走到绳子的尽头时,它马上掉下绳子(再也爬不起来了)。当两只蚂蚁在绳子上相遇时,马上掉头往另一个方向走去。我们知道每只蚂蚁在绳子上的位置,但不幸的是,我们并不知道每只蚂蚁开始时走的方向。

你的任务是算出最快和最慢可能需要多少时间,所有的蚂蚁都掉出绳子外。

Input

输入的第一列有一个整数,代表以下有多少组测试资料。

每组测试资料以2个整数L, n开始,L代表绳子的长度(单位:cm),n代表一开始时绳子上有多少只蚂蚁。接下来有n个整数代表这些蚂蚁一开始在绳子上的位置(从绳子的左端算起),且这些位置并没有一定顺序。所有的这些数都不会超过1000000。

请参考Sample Input。

Output

对每组测试资料输出一列,包含2个整数代表最快和最慢可能需要多少时间(秒),所有的蚂蚁都掉出绳子外。

Sample InputSample Output
2
10 3
2 6 7
214 7
11 12 7 13 176 23 191
4 8
38 207
 

[G] Play with Floor and Ceil

对任何2个整数x 和k,存在另2个整数p 和q 使得:

要证明上面的式子是一件相当容易的事,所以我们不会要求你去做。我们要你做的事甚至更容易一些。给你x 和k 的值,请你找出p 和q 使得上面的式子成立。

Input

输入的第一列有一个整数代表以下共有多少组测试资料(不会超过1000组)。

每组测试资料一列。含有2个正整数x和k(均小于10 8)。

Output

对每组测试资料输出一列,含2个整数p 和q 。假如存在不只一组答案,输出任何一个都可以。

但是为了帮助我们让这个任务简单一点,请确保 和这2个值可以以64位元的整数储存。

Sample InputSample Output
4
5 2
40 2
24444 6
2 3
1 1
1 1
0 6
0 2

[H] Tri Tiling

要用大小为2*1的磁砖贴满面积3*n 的矩形共有多少种方法?以下是n=12的一种贴法。

Input

输入含有多组测试资料。

每组测试资料一列有一个整数n(0 <= n <= 30)。

当n=-1代表输入结束。请参考Sample Input。

Output

对每一组测试资料输出一列,输出贴磁砖的方法共有多少种。

Sample InputSample Output
2
3
8
12
-1
3
0
153
2131



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值