#P1723. 游戏设计
游戏设计
题目描述
薯条哥最近接到一个游戏设计的工程,其中有 个角色(分别编号 )。
在游戏设定中,每个初始角色的战斗力用其等级高低来评价,每个初始角色都会有一个固定的等级。
为了设计一个完善的等级系统,薯条哥为这些初始角色设计了 场战斗来测试这些初始角色的强度。
如果战斗的角色等级相等,那么会出现平局;如果不同等级角色之间的战斗,高等级的角色一定会击败低等级角色。
薯条哥想知道应该为这些角色设计多少种等级数量 ,如果战斗违反设定或者无法确定,那么就返回。
输入描述
输入第一行一个整数 ,代表测试用例的组数。
接下来 组测试数据,对于每一组测试用例,第一行两个整数 ,分别代表角色的数量和战斗的场数。 (可能存在重边)
接下来 行,表示角色的战斗结果,有三种可能:
. ,表示击败了;
. ,表示输给了;
. ,表示和打平;
输出描述
对于每组测试用例,如果战斗结果符合等级设定,输出总共的等级数量 ;
否则输出,表示违反设定或无法确定。
样例
输入
5
4 3
1 < 2
2 < 3
3 = 4
4 3
1 < 2
2 > 3
3 = 4
5 5
1 < 1
1 < 2
2 < 3
3 < 4
4 < 5
7 6
1 < 2
2 < 3
3 < 4
4 < 5
5 < 6
6 = 7
8 6
1 = 2
2 = 4
5 = 4
6 = 7
7 = 8
5 = 6
输出
3
-1
-1
6
-1
样例说明
第一组用例,由和的打平可以得出和处于同一等级,而击败了击败了,因此有:,共种等级。
第二组用例,击败了又击败了,但是无法确定和之间的等级关系,因此无法确定人物之间的等级。
第三组用例,号自己输给自己,违反了相同等级不能分出胜负的设定。
第四组用例,有:,共种等级。
第五组用例,没有任何战斗,无法确定其所在等级。