码迷,mamicode.com
首页 > 其他好文 > 详细

USACO翻译:USACO 2014 NOV Silver三题

时间:2015-02-10 15:10:56      阅读:487      评论:0      收藏:0      [点我收藏+]

标签:

USACO 2013 NOV SILVER

一、题目概览

中文题目名称

未有的奶牛

农场航线

           贝西洗牌

英文题目名称

nocow

vacation

shuffle

可执行文件名

nocow

vacation

shuffle

输入文件名

nocow.in

vacation.in

shuffle.in

输出文件名

nocow.out

vacation.out

shuffle.out

每个测试点时限

1秒

1秒

1秒

测试点数目

10

10

10

每个测试点分值

10

10

10

比较方式

全文比较

全文比较

全文比较

二、运行内存限制

运行内存上限

128 M

128 M

128 M

 

 

1.未有的奶牛{nocow}

【问题描述】

FJ喜欢收集不同的奶牛,他将未有的N(1 <= N <= 100)头奶牛用如下的形式描述:

Farmer John has no large brown noisy cow.

Farmer John has no small white silent cow.

Farmer John has no large spotted noisy cow.

每一行,描述一头FJ未有的牛。

每一行都含有相同个数的形容词,每行的形容词个数范围为2..30。

在以上给出的列表中,每行共有3个形容词,第一个形容词有两种(large和small),第二个形容词有3种(brown,white和spotted),第三个形容词有2种(noisy和silent)。

所以共可以组成12头不同的奶牛,除了列表给出的3头,他已经拥有了其他9头。FJ最多有1,000,000,000头牛。

   若将FJ已经拥有的牛按形容词的字典序排序,请问他已有的第K头牛是哪一头。

【文件输入】

第一行,两个整数N和K。

接下来2..N+1行,每行一条描述,表示未有的牛。每个形容词最多包含10个小写字母。

【文件输出】

   输出共一行,若干个形容词。

【输入样例】

3 7

Farmer John has no large brown noisy cow.

Farmer John has no small white silent cow.

Farmer John has no large spotted noisy cow.

【输出样例】

small spotted noisy

【样例说明】

已有的牛按字典序排列分别是:

large brown silent

large spotted silent

large white noisy

large white silent

small brown noisy

small brown silent

small spotted noisy

small spotted silent

small white noisy

 

2. 农场航线{ vacation }

【问题描述】

   有N(1 <= N <= 200)个农场,用1..N编号。航空公司计划在农场间建立航线。对于任意一条航线,选择农场1..K中的农场作为枢纽(1 <= K <= 100, K <= N)。

当前共有M (1 <= M <= 10,000)条单向航线连接这些农场,从农场u_i 到农场 v_i, 将花费 d_i美元。(1 <= d_i <= 1,000,000).

航空公司最近收到Q (1 <= Q <= 10,000)个单向航行请求。第i个航行请求是从农场a_i到农场 b_i,航行必须经过至少一个枢纽农场(可以是起点或者终点农场),因此可能会多次经过某些农场。

请计算可行航行请求的数量,及完成所有可行请求的总费用。

【文件输入】

第一行,四个整数N, M, K和 Q。

接下来2到M+1行,第i+1行包含三个整数u_i, v_i和d_i。

接下来2+M到1+M+Q行: 第1+M+i行表示第i个航行请求。

【文件输出】

第一行,一个整数,表示可行的航行请求数量。

第二行,一个整数,表示完成所有可行航行请求的总费用。

【输入样例】

3 3 1 3

3 1 10

1 3 10

1 2 7

3 2

2 3

1 2

【输出样例】

2

24

【样例说明】

第一个请求花费17,第二个请求不可行,第三个请求花费7,总花费24。

3.贝西洗牌{shuffle}

【问题描述】

贝西有一种独门的洗牌方法,称为贝西洗A:

贝西洗A:将一堆共M (2 <= M <= 100,000)张从上到下编号1..M的纸牌,从上到下第i张牌洗到位置p[i]。例M=3,P[1]=3,p[2]=1,p[3]=2,则执行一次洗法A后,从上到下将变为2,3,1,即牌1放到位置3,牌2放到位置1,牌3放到位置2。

贝西现在要练习另外一种更强的洗牌方法,称为贝西洗B,他有一堆N (M <= N <= 100,000)张编号为1..N的牌,并按从上到下1到N的顺序堆放。另有一个堆用来辅助洗牌,称为临时堆,开始时为空。

贝西洗B:(1)将最上面M张牌进行贝西洗A,(2)将最上面的一张牌放到临时堆的最上方;重复(1)(2)操作,直到原先的堆没有牌为止。

以上过程中,当原先堆的牌不足M张的时候,将不进行贝西洗A,而是将最上面的牌依次放到临时堆上。

现在有Q个询问,求临时堆中Qi位置上的牌的编号。

【文件输入】

第一行,三个空格间隔的整数N,M和Q。

第2..1+M行,描述数组P。

第2+M..1+M+Q行, 每行一个整数,表示Qi。

【文件输出】

Q行,每行一个整数,表示第Qi张牌的编号。

【输入样例】

5 3 5

3

1

2

1

2

3

4

5

【输出样例】

4

5

3

1

2

【样例说明】

[1, 2, 3, 4, 5] -> [2, 3, 1, 4, 5] (2 放到临时堆)

[3, 1, 4, 5] -> [1, 4, 3, 5] (1放到临时堆)

[4, 3, 5] -> [3, 5, 4] (3放到临时堆)

[5, 4] (5放到临时堆)

[4] (4放到临时堆)

USACO翻译:USACO 2014 NOV Silver三题

标签:

原文地址:http://www.cnblogs.com/jznoi/p/4283827.html

(1)
(1)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!