1293:猜数字

时间限制: 2 S | 内存限制: 8192 KB
Accept: 0 | Submit: 0
[提交] [状态] [讨论版]
描述

涂涂和lyf玩猜数字的游戏。lyf心里想了一个4位的正整数,保证每位上的数字互不相同,而且可以以0作为最高位(例如0754)。涂涂可以多次尝试猜测lyf想的数字究竟是多少。 

每次猜测时,涂涂会报一个数字,然后lyf会根据涂涂猜测的情况回答xAyB,其中x表示有多少个数字猜对了,而且数字的位置也是对的;y表示有多少个数字猜对了,而且数字的位置是错的。

例如当lyf想的数字是0754,涂涂猜的数字是5780,那么lyf回答是1A2B。其中数字7猜对了,而且7的位置也是对的(百位数上),所以是1A。而数字0和数字5也猜对了,但0和5出现的位置都与答案不一致,所以是2B。

经过涂涂一系列的猜测后,涂涂就可能推断出lyf想的数字是多少了,但涂涂那天要准备CET考试,没时间思考问题,请写段代码帮涂涂回答。

输入

一个正整数n,表示有n组案例。

每组案例先是一个正整数m,表示涂涂猜了几次。然后是m行数据,每行数据是一个四位正整数a和四个字符组成的字符串b。(m<=20, a保证各位数字都不相同,b是形如xAyB的形式,其中x和y是0~4之间的整数,且x+y<=4)

输出

针对每组案例,如果可以推断出lyf想的4位正整数是多少,那么输出该正整数(注意如果千位数是0,那么也要输出这个0);如果无解,那么输出-1;如果不止一个解,则输出-2。

每组案例输出完都要换行。 

样例输入

3

1

1234 0A0B

2

1234 3A1B

5678 2A1B

2

3210 2A2B

3120 0A4B

样例输出

-2

-1

0213

 

HINT

 

来源
19-20(1)第4次线上赛