bzoj#P1829. [Usaco2010 Mar]starc星际争霸

[Usaco2010 Mar]starc星际争霸

题目背景

《星际争霸 2》全面公测啦!

题目描述

《星际争霸 2》的游戏目标就是在战役中打败你对手的军队。

一支军队由 33 种单位组成,不同单位有不同的实数力量值:cattlebruisers 的力量是 S1S_1,cow templars 的力量是 S2S_2,ultracows 的力量是 S3S_3。一支军队的力量值,是其中各的单位的力量值之和:比如一支军队有 2323 个 cattlebruisers,那么这支军队单独从 cattlebruisers 就能获得 23S123S_1 的力量值。

当两支对立的军队在战役中厮杀,力量值更高的军队会获得胜利。如果两支军队的力量值恰好相同,那么将随机产生一个获胜方。

Farmer John 和 Bessie 进行了 NN 局测试战役。在第 ii 局测试战役中,Farmer John 有 J1,iJ_{1,i} 个 cattlebruisers,J2,iJ_{2,i} 个 cow templars,以及 J3,iJ_{3,i} 个 ultracows。Bessie的军队有 B1,iB_{1,i} 个 cattlebruisers,B2,iB_{2,i} 个 cow templars 以及 B3,iB_{3,i} 个 ultracows。每局战役后,将胜者以一个单独的“胜利字母” ViV_i 记录下来:J 表示 Farmer John 获胜,而 B 表示 Bessie 获胜。这是他们唯一所拥有的信息。

他们不知道自己军队具体的力量值是多少,现在他们希望仅根据这 NN 局测试战役来预测一些另外的战役的结果。给出这 NN 场测试战役的结果,写一个程序来确定另外 MM 场战役的获胜方。

保证所有给出的测试战役的结果都是正确的,即至少存在一种合法的力量值的取值符合这些结果,没有一个单位的力量值超过另一个单位力量值的 100100 倍。

输入格式

第一行:两个用空格隔开的整数 NNMM

22 到第 N+1N+1 行:第 i+1i+1 行:第一个是胜利字母 ViV_i,接下来是 66 个整数:J1i,J2,i,J3,i,B1,i,B2,i,B3,iJ_{1_i},J_{2,i},J_{3,i},B_{1,i}, B_{2,i},B_{3,i}

N+2N+2 到第 N+M+1N+M+1 行: 第 i+N+1i+N+1 行给出 66 个整数 J1i,J2,i,J3,i,B1,i,B2,i,B3,iJ_{1_i},J_{2,i},J_{3,i},B_{1,i}, B_{2,i},B_{3,i} 表示第 ii 场额外战役。

输出格式

MM 行,第 ii 行包含第 ii 场额外战役的结果: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

提示

一开始的两场战役已经在题目中给出过解释了。最后一场战役是不能利用已有信息推断出结果的。

具体来说,对于 S_1=9.0, S_2=7.0, S_3=4.0 和 S_1=12.0, S_2=20.0, S_3=10.0

这两组不同的数值都符合输入信息,但是却能使的最后一场测试战役产生不同的结果。

题目来源

Gold