#P16488. PM2253真假答案键
PM2253真假答案键
真假答案键
题目背景
计算机课的史密斯教授整个学期只用判断题出考卷——理由嘛,他实在太懒得手工批改了。每次考试一收卷,他就把每位同学的作答录进电脑,分数自动算出来,省事得很。
可这学期末偏偏赶上电脑崩溃,明天就要交成绩单,修电脑根本来不及。教授只能翻出旧试卷手工重判。麻烦的是,所有试卷的标准答案都存在电脑里,现在通通关在硬盘里取不出来。好在他手上还留着所有学生的答卷,而且还能凭印象回忆出某些学生那次考试答对了几题。此外他确信一件事:每道题都至少有一位同学答对了。
仅凭这些线索,教授已尽力推断,但仍有几份卷子的标准答案怎么也算不出。他请你帮忙:在他记得的那些答卷和分数约束下,找出一份字典序最小且自洽的标准答案;若无论如何都自相矛盾,则说明他记错了,应给出报告。
题目描述
给定 份已被教授"记得分数"的学生试卷。每份试卷用一个字符串描述,格式为:先是一个不带多余前导零的非负整数 ,表示该生答对的题数;随后一个空格,再跟上一串由 T 和 F 构成的字符序列,表示该生从第 题到第 题的作答(T 表示判正、F 表示判负)。
所有试卷字符串末尾的字母数相同,记为 。
请你求出长度为 、由 T/F 构成的"答案键" ,使得:
- 对每份试卷 ,该生答对的题数恰好为 ,即字符匹配的位置恰好 个;
- 每一题至少有一位同学的作答与 相同(即每题都被至少一人"答对");
- 在所有满足上述条件的 中,字典序最小。
字典序以 ASCII 顺序比较字符,注意 'F' < 'T'。
若不存在满足条件的 ,输出字符串 inconsistent。
输入格式
第一行一个正整数 ,表示试卷份数。
接下来 行,每行一个试卷字符串,格式为整数 、空格、长度 的 T/F 串。
输出格式
输出一行。若存在合法答案键,输出字典序最小的那个(仅含 T 和 F);否则输出 inconsistent。
样例
样例输入 1
3
2 TTF
1 FTF
2 FTT
样例输出 1
TTT
样例解释 1
第 题所有同学都答 T。由于每题至少有一人答对,第 题的标准答案必为 T。再由第 位同学(FTF,对 题)可知第 、 题都应为 T,得到答案键 TTT,与另两位同学的 题也对得上。
样例输入 2
1
7 TTFFTFT
样例输出 2
TTFFTFT
样例解释 2
只有一位同学且满分,他的作答就是答案键本身。
样例输入 3
2
9 TTTFFFFTTFFTTFT
7 FFFFFFFFFFFFFFF
样例输出 3
inconsistent
样例解释 3
第 2 位同学的作答全部为 F,且他答对了 题,因此答案键中恰好有 个 F。
第 1 位同学也恰好在 个位置回答了 F。在这些位置,两位同学都回答 F;由于每道题至少有一位同学答对,这 个位置的正确答案只能全部为 F。于是其余 个位置都必须为 T,答案键只能等于第 1 位同学的作答。这样第 1 位同学应答对全部 题,与给定的 分矛盾,因此无解。
数据范围与约定
对于所有测试数据:
- , 即试卷份数;
- 每份试卷字符串长度 ;
- 每份试卷格式为整数 (不带多余前导零)+ 一个空格 + 仅含
T/F的串; - 所有试卷字符串后面的字母数相同,记为 ();
- 。