很抱歉这么晚才放出来,翻译早就做好了,但是根本就都忘掉了.
很无奈地放一个more标签,想看的自己点开,因为比较长,放在主页上比较难看...
今天SRM竟然被我忘了,现在登陆又不知道为啥登不进去,本来以为SRM还能更新一篇文章的,看起来没戏了...
Problem 1: Bovine Bones
Bessie喜欢玩棋盘游戏和角色扮演游戏(RPG?),所以她说服了Farmer John开车带她去小商店.在那里她买了三个骰子.这三个不同的骰子分别有S1,S2和S3个面 (2 <= S1 <= 20, 2 <= S2 <= 20, 2 <= S3 <= 20).
Bessie扔啊,扔啊,扔啊...她希望找出在所有三个面上的数字的和中,哪个出现的概率最大.
现在给出每个骰子的面数,需要求出哪个所有三个面上的数字的和出现得最频繁.如果有很多个和出现的概率相同,那么只需要输出最小的那个.
(原题说的不清楚,这里补充一下:对于一个有S个面的骰子,每个面上的数字是1,2,3,...,S.每个面出现的概率均等.)
分数: 70
题目名称: bones
输入格式
* 第1行: 三个用空格分隔的数: S1, S2, S3.
样例输入 (bones.in)
3 2 3
输出格式
* 第1行: 出现概率最大的最小和.
样例输出 (bones.out)
5
Problem 2: Building A Fence
勤奋的Farmer John想给他的牛场建造一个四边形的围栏.他有一块长度为整数N (4 <= N <= 2500) 的木板.他希望在三个点上切开这块木板,把它变成长度均为整数的四块小木板.
这四块木板的长度可以是任意的正整数,只要Farmer John能够用它们组成一个四边形.那么,他有多少种不同的切割木板的方法?
注意
* 只要有一个切割点不同,那么两种切割方式就不同.不用考虑对称之类的复杂情况.
* 可以确定的是,木板的长度肯定大于0.
* 答案在32位整数类型可以储存的范围内.
分数: 250
题目名称: quad
输入格式
* 第1行: 一个正整数N.
样例输入 (quad.in)
6
输入数据解释
这是一块长度为6的木板.
输出格式
* 第1行: 一个正整数,表示有多少种可行的切割方式.
样例输出 (quad.out)
6
输出数据解释
Farmer John有10种切割方式: (1, 1, 1, 3), (1, 1, 2, 2), (1, 1, 3, 1), (1, 2, 1, 2), (1, 2, 2, 1), (1, 3, 1, 1), (2, 1, 1, 2), (2, 1, 2, 1), (2, 2, 1, 1) 或者 (3, 1, 1, 1). 但是 (1, 1, 1, 3), (1, 1, 3, 1), (1, 3, 1, 1) 和 (3, 1, 1, 1)四种方式不能构成四边形.
Problem 3: Watering Hole
Farmer John希望把水源引入他的N (1 <= N <= 300) 个牧场,牧场的编号是1~N.他将水源引入某个牧场的方法有两个,一个是在牧场中打一口井,另一个是将这个牧场与另一个已经有水源的牧场用一根管道相连.
在牧场i中打井的费用是W_i (1 <= W_i <= 100000).
把牧场i和j用一根管道相连的费用是P_ij (1 <= P_ij <= 100000, P_ij = P_ji, P_ii = 0).
请你求出Farmer John最少要花多少钱才能够让他的所有牧场都有水源.
分数: 400
题目名称: water
输入格式
* 第1行: 一个正整数N.
* 第2~N+1行: 第i+1行包含一个正整数W_i.
* 第N+2~2N+1行: 第N+1+i行包含N个用空格分隔的正整数,第j个数表示P_ij.
样例输入 (water.in)
4
5
4
4
3
0 2 2 2
2 0 3 3
2 3 0 4
2 3 4 0
输入数据解释
总共有四个牧场.在1号牧场打一口井需要5的费用,在2或者3号牧场打井需要4的费用,在4号牧场打井需要3的费用.在不同的牧场间建立管道需要2,3或4的费用.
样例输出 (water.out)
9
输出数据解释
Farmer John需要在4号牧场打一口井,然后把所有牧场都用管道连到1号牧场上,总共的花费是3+2+2+2=9.
Problem 4: Pasture Walking
有N头奶牛 (2 <= N <= 1000) 编号为1~N,它们正在同样编号为1~N的牧场上放牧.为了描述方便,我们假设编号为i的牛恰好在第i号牧场上.
有一些牧场间每两个牧场用一条双向道路相连,道路总共有N-1条,奶牛可以在这些道路上行走.第i条道路把第A_i个牧场和第B_i个牧场连了起来 (1 <= A_i <= N, 1 <= B_i <= N),而它的长度是L_i (1 <= L_i <= 10000).
在任意两个牧场间,有且仅有一条由若干道路组成的路径相连.也就是说,所有的道路构成了一棵树.
奶牛们十分希望经常互相见面.它们十分着急,所以希望你帮助它们计划它们的行程,你只需要计算出Q对点之间的路径长度(每对点以一个询问p1, p2的形式给出, 1 <= p1 <= N, 1 <= p2 <= N).
分数:
题目名称: pwalk
输入格式
* 第1行: 两个用空格分开的正整数: N和Q.
* 第2~N行: 第i+1行包含了三个用空格分开的正整数: A_i, B_i和L_i.
* 第N+1~N+Q行: 每一行一个询问,包含两个用空格分开的正整数p1和p2,表示需要计算这两个不同牧场之间的路径长度.
样例输入 (pwalk.in)
4 2
2 1 2
4 3 2
1 4 3
1 2
3 2
输出格式
* 第1~Q行: 第i行包含第i个询问中两个牧场之间的路径长度.
样例输出 (pwalk.out)
2
7
输出数据解释
询问1: 牧场1和2之间有一条长度为2的道路.
询问2: 先从3走到4,再从4走到1,最后从1走到2,路径的长度为7.
Problem 5: Wheel Rotation
Farmer John有一个过时的收割机,需要在它的各种滑轮上装配皮带才能让收割机的各个部分运作起来.引擎能够驱动滑轮1向顺时针方向转动,滑轮1通过一条皮带又连接到滑轮2.滑轮2又通过一条皮带连接到滑轮3,以此类推,总共有N (2 <= N <= 1000) 个滑轮(和N-1条皮带).

上图描述了皮带连接两个滑轮的两种方式.在图中,滑轮1直接驱动了滑轮2,因而他们向同一个方向旋转.滑轮3通过一个交叉的皮带驱动滑轮4,它会改变旋转的方向.
现在给出一个列表,里面有把滑轮连接在一起的所有皮带的连接方式.已经知道滑轮1被引擎驱动着向顺时针方向转动,需要求出滑轮N的转动方向.每一条皮带由下面三个数定义:
* S_i: 驱动滑轮(提供驱动力的滑轮)
* D_i: 被驱动滑轮(被驱使转动的滑轮)
* C_i: 连接类型(0表示直接驱动,1表示交叉驱动)
不幸的是,Farmer John的这个列表中,皮带的顺序是随机的.
例如下图这种情形,N=4,而且滑轮1被引擎驱动,顺时针方向转动.驱动滑轮2和滑轮3的皮带都是直接驱动,而驱动滑轮4的皮带是交叉驱动.所以滑轮4(也就是滑轮N)岩逆时针方向转动.

分数: 70
题目名称: rotation
输入格式
* 第1行: 一个正整数N
* 第2~N行: 每行描述了一条皮带,有三个正整数: S_i, D_i和C_i.
样例输入
4
2 3 0
3 4 1
1 2 0
输入数据解释
输入数据就是例子中的情况.
输出格式
* 第1行: 一个正整数,表示滑轮N的旋转方向(0是顺时针,1是逆时针).
样例输出
1
Problem 6: Power Failure
一次猛烈的雷暴把农场里一些连接电力网格的电线损坏了.Farmer John有一张包含全部N (2 <= N <= 1000) 个电力点的地图,电力点的编号是1~N,位置是平面直角坐标系中的坐标x_i, y_i (-100,000 <= x_i <= 100000; -100,000 <= y_i <= 100,000).
雷暴后剩下了W (1 <= W <= 10000) 条电线,每条连接了一对电力点Pi,Pj (1 <= Pi <= N, 1 <= Pj <= N).
他现在需要将电力从1号电力点运送到N号电力点(也就是说电流可以通过一些电线从1号电力点流到N号电力点,可以流过一些作为中介的电力点).
给出N个电力点的位置以及剩下的电线的列表,使得电力可以从1号电力点运送到N号电力点,求出需要增加的电线的最短长度.所有电线的长度都不能超过一个实数M (0.0 <= M <= 200000.0).
例如,下图的左侧是在雷暴之后的9个电力点和3条电线的地图.对于当前的任务,M=2.0.最优的增加电线的方案是在4号和6号电力点以及6号和9号电力点间增加电线.
雷暴之后 最理想的连接方法
3 . . . 7 9 . . . . . 3 . . . 7 9 . . . . .
/
2 . . 5 6 . . . . . . 2 . . 5 6 . . . . . .
/
1 2-3-4 . 8 . . . . . 1 2-3-4 . 8 . . . . .
| |
0 1 . . . . . . . . . 0 1 . . . . . . . . .
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9
增加电线的总长度为1.414213562 + 1.414213562 = 2.828427124.
分数: 350
题目名称: pwrfail
输入格式
* 第1行: 两个用空格分开的数N和W.
* 第2行: 一个实数M.
* 第3~N+2行: 每行包含两个正整数x_i和y_i.
* 第N+3~N+2+W行: 每行两个用空格分隔的数: Pi和Pj.
样例输入
9 3
2.0
0 0
0 1
1 1
2 1
2 2
3 2
3 3
4 1
4 3
1 2
2 3
3 4
输入数据解释
如上图.
输出格式
* 第1行: 一个正整数.如果没有一个可行的方案,那么输出-1.否则,输出一个正整数,表示重建的最小花费乘以1000并取整的结果.不要四舍五入,只需要截去小数部分.
样例输出
2828
输出数据解释
如上图.
You May Like These:
2008年11月07日 at 02:21
哇>.< ,赞~
2008年11月09日 at 14:23
- -许久没沙发了……