题目名称 | 2010. [USACO Mar10]星牛争霸 |
---|---|
输入输出 | starc.in/out |
难度等级 | ★★★ |
时间限制 | 1000 ms (1 s) |
内存限制 | 256 MiB |
测试数据 | 15 |
题目来源 | cstdio 于2015-07-03加入 |
开放分组 | 全部用户 |
提交状态 | |
分类标签 | |
分享题解 |
通过:12, 提交:33, 通过率:36.36% | ||||
thomount | 100 | 0.008 s | 0.35 MiB | C++ |
mikumikumi | 100 | 0.010 s | 0.32 MiB | C++ |
炎帝 | 100 | 0.011 s | 0.35 MiB | C++ |
ceerRep | 100 | 0.011 s | 0.38 MiB | C++ |
zhengtn03 | 100 | 0.012 s | 0.55 MiB | C++ |
FutureGazer | 100 | 0.014 s | 0.35 MiB | C++ |
cstdio | 100 | 0.014 s | 0.38 MiB | C++ |
Wang Yen Jen | 100 | 0.037 s | 0.38 MiB | C++ |
stdafx.h | 100 | 0.048 s | 0.40 MiB | C++ |
泪寒之雪 | 100 | 0.324 s | 31.18 MiB | C++ |
关于 星牛争霸 的近10条评论(全部评论) | ||||
---|---|---|---|---|
就我一个人这么慢,尴尬死
| ||||
线性规划做法,一定要记得初始化一个可行解!
| ||||
星牛争霸2的beta版本上线了!Farmer John和Bessie正在测试这款游戏,在一对一对战中尝试使用不同的策略打败对方。星牛争霸2的游戏目标是在战斗中消灭敌人的军队。
每名玩家在战斗中拥有一支军队。一支军队包含多达三种不同类型的“单位”,它们各自的战斗力为正的实常数,不向玩家公布:战牛巡洋舰的战斗力为S1,圣牛武士的战斗力为S2,猛牛的战斗力为S3.玩家只知道,没有一种单位的战斗力是另一种单位的100倍以上。
一支军队的战斗力是其所有单位的战斗力之和。例如,一支拥有23艘战牛巡洋舰的军队战斗力为23*S1.
当两支军队互相攻击时,拥有较高总战斗力的一方将获胜。如果它们有着相等的战斗力,那么两名玩家中随机的一人获胜。
Farmer John和Bessie已经玩了N(0<=N<=300)局“测试对战”。在第i局对战中,Farmer John的军队有着J1_i艘战牛巡洋舰,J2_i个圣牛武士,J3_i个猛牛(0 <= J1_i + J2_i + J3_i <= 1000)。类似地,Bessie的军队有着B1_i艘战牛巡洋舰,B2_i个圣牛武士,B3_i个猛牛(0 <= B1_i + B2_i + B3_i <= 1000)。在他们对战后,Faremer John和Bessie用一个字符V_i记录下了获胜者:'J'代表Farmer John赢了这一局,'B'代表Bessie赢了这一局。
虽然这些胜负结果是他们仅有的信息,他们希望给定两支军队的单位组成后,预测一些战斗的结果。虽然,对于一些战斗,他们知道可能无法确切地预知胜者。
给定Farmer John和Bessie已玩过的N局测试对战信息,写出一个程序来确定M(1<=M<=2000)场新的比赛的胜者(如果可能的话)。
测试对战的结果信息是正确的:至少有一组战斗力值设置符合这些测试对战的结果。
为了演示这一过程,考虑几局测试对战,其中我们知道(但Farmer John和Bessie都不知道)S1=9.0,S2=7.0,S3=4.0:
---- Farmer John ---- ------- Bessie ------ 战斗 J1 J2 J3 J_战斗力 B1 B2 B3 B_战斗力 结果 6 5 4 105 5 4 7 101 J 5 4 2 81 3 5 5 82 B 9 0 10 121 8 2 7 114 J
由这些结果,可以推断出如下两场战斗的胜负:
---- Farmer John ---- ------- Bessie ------ 战斗 J1 J2 J3 J_战斗力 B1 B2 B3 B_战斗力 结果 6 6 4 112 5 4 7 101 J Farmer John的军队比第1局测试战斗中还要强 9 0 10 121 8 2 6 110 J Bessie的军队比第3局测试战斗中还弱
第1行:两个空格隔开的整数N和M。
第2..N+1行:第i+1行描述了一场战斗:一个代表胜者的字符,和六个代表单位数量的整数:V_i,J1_i,J2_i,J3_i,B1_i,B2_i和B3_i
第N+2..N+M+1行:第i+N+1行描述了一场新的战斗,有六个整数:J1_i,J2_i,J3_i,B1_i,B2_i和B3_i
第1..M行:第i行输出第i场新战斗的结果:“J”代表Farmer John一定赢,“B”代表Bessie一定赢,“U”代表根据给定信息,无法确定谁赢。
3 3
J 6 5 4 5 4 7
B 5 4 2 3 5 5
J 9 0 10 8 2 7
6 6 4 5 4 7
9 0 10 8 2 6
3 4 8 4 4 6
J
J
U
前两局对应于题目描述中给出的例子。最后一局的结果根据Farmer John和Bessie现有的信息无法确定。特别地,S_1=9.0,S_2=7.0,S_3=4.0和S_1=12.0,S_2=20.0,S_3=10.0都符合测试对战的结果,但当把这些战斗力值代入第三局新战斗时,它们将给出不同的结果。
Jaehyun Park/KOI 2007, 2010