2007年ACM国际大学生程序设计竞赛总决赛试题B,C

试题B:集装箱问题

输入文件:containers.in

一海港集装箱存储着一大批需要用远洋大货船运出口的集装箱,这些集装箱将再通过公路和铁路运输到达目的地。
大货船要装载大批集装箱,装入时间是由集装箱的位置决定的,当集装箱不在存储货堆的最上面时,装入时间就要增加,因为只有先把要装载货物上面的搬开才能继续搬运,也就是说,每次搬运只能搬最上面的货物。
为了减少装货时间,就需要给这堆货物的搬运作个计划:每条货船都能去搬运货堆的最上面的货物,而货堆的数量要尽可能的少。
由于这个原因,我们知道每条船的装载次序和每个集装箱的到达次序。所有的船用大写字母A—Z表示,它们的装载次序就是它们编号的次序。每个货物也用它将被装入的货船的大写字母编号表示。对于每一个单独的货堆来说,它的货物的数量是没有限制的。
输入
输入文件包含多个测试用例,每个测试用例由一单行表示,它就是用1—1000表示将要到达次序的一组集装箱。例如:输入一行“ABAC”就表示连续到达的集装箱分别装入了A,B,A和C船中。当所有的集装箱都到达了,所有的货船严格按照字母的递增次序进行装货:先A船,然后B船,依此类推。
最后一行是一个单词“end”,表示结束。
输出
对每个输入打印这个测试用例的编号(第一个为1)和在装货前需要存储集装箱的最小货堆的编号。您的输入格式应该类似于下面输入格式。
输入
输出
A
CBACBACBACBACBA
CCCCBBBBAAAA
ACMICPC
end
Case 1: 1
Case 2: 3
Case 3: 1
Case 4: 4
 

问题C:国际汽车大奖赛

输入文件:gp.in

假设您是一个山丘地带汽车公路赛的总设计师。在这个赛场中由N个连续的直路段组成,也就是说,在第K段路段的最后部分与第K+1段的开始部分在地形上相似。在设计时,这些路段要布置成平坦的路面,这样就可以在二维直角坐标系中识别各路段的结尾点和表示各路段了。第一段的起点在原点。图一表示这个赛场由6段路段的平面图。

`实际的赛道在山丘中进行,为了简化问题,假定这个山丘地带与地平面成θ角,如图二。

山丘的斜面与水平面相交于Y轴,每个二维直角坐标系中的点(xi, yi)对应着三维坐标系中的点(xi', yi', zi'),zi'代表第i段路段终点的高度(与水平面的距离),这样的话,原点的高度为0。

由于此次比赛打算提供给新手,所以在此比赛场中不能包含任何下坡路段,也就是说,如果第k段路段的终点的高度为z k',那么在第k段以后的路段的高度不能低于z k',即:z k'<=z m'(m>=k)。
如果一个提名的赛场包含下坡路段,它可能通过不改变连续路段的角度、使用旋转整个跑道的平面视图将路段转换成无下坡型。尽管可以这样转换,但是,被提名的赛场最好不要进行这种转换。
你必须决定提名的赛场是否合格(赛场不要有下坡路段)。如果该赛场不合格,你必须确定它是否能够通过上面的旋转方法转换成一个合格的赛场,在多种转换情况下选择一个旋转角度最小的方式作为转换方式。
输入
输入包括多个测试用例,每个测试用例描述一个提名赛场和此赛场跑道所在的斜面。第一行每个描述包括两个整数:N(1≤N≤10000)和θ(0 o ≤θ≤ 45 o)。N表示跑道中的路段号,θ表示山坡与水平面的夹角度数(角度制)。每段路段用一对整数 (x i, y i), (1 ≤ i ≤ N)来表示该路段的终点。第一段从原点开始,第k+1段的起点是第k段的终点,任何一路段的长度都大于0 。
最后输入用两个0表示测试用例的结束。
输出
为每个测试用例打印一行包含该测试用例的编号(从1开始)。如果那个提名赛场不用旋转就合格了,打印“Acceptable as proposed”。如果此提名赛场不合格,但是通过旋转方式转换后合格了,则打印“Acceptable after clockwise rotation of X degrees”或者“Acceptable after counterclockwise rotation of X degrees”(X为正数)。我们决定,顺时针旋转将把Y轴正方向转向X轴正方向。如果顺时针旋转和逆时针旋转都能使该赛场变为合格,则选择一种旋转角度最小的方式。如果两种旋转都不能获得合格,就打印“Unacceptable”。角度的表示保留两位有效数字。

注意:在每个测试用例的打印结果后再打印一空行。

下面是几个输入、输出格式样本。    

输入                             输出 `

  输入                           输出
2 45
10 10
0 1
2 0
1 1
2 0
3 45
10 10
1 10
5 6
0 0
Case 1: Acceptable after clockwise rotation of 131.99 degrees
 
Case 2: Acceptable as proposed
 
Case 3: Unacceptable
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值