论资排辈
测试数据来自 system/2914
作业已超过截止时间,您无法递交本题目。
时间限制:1秒 内存限制:256M
【题目描述】
小H所在的实验室共有 \(N(1≤N≤100)\) 名研究员,没有两名研究员的资历相同,但确定他们的资历深浅可能并不好办。为此,小H 将会对实验室的出版物进行调查。
每份出版物均包含一个作者列表,为所有 \(N\) 名研究员的一个排列。列表按每名研究员对这篇文章的贡献降序排列。如果多名研究员的贡献相等,则按字典序排列。由于更有资历的研究员负有更多的管理责任,更有资历的研究员从不会比资历较浅的研究员做出更多的贡献。
例如,在一个由资历较浅的是研究员 Fmtjd、资历较深的教授 Njmesfe、以及资深的教授 Efbm 组成的实验室中,可能存在一篇论文 Fmtjd-Njmesfe-Efbm,如果他们做出了不等的贡献(也就是说,Fmtjd 做出的贡献比 Njmesfe 多,Njmesfe 比 Efbm 多)。然而,也有可能存在一篇论文 Fmtjd-Efbm-Njmesfe,如果 Njmesfe 和 Efbm 做出了相等的贡献,而 Fmtjd 做出了更多的贡献。
给定实验室的 \(K(1≤K≤100)\) 份出版物,对于实验室中每对研究员,如果可能的话帮助 小H 判断其中谁的资历更深。
【输入格式】
输入的第一行包含两个整数 \(K\) 和 \(N\)。
第二行包含 \(N\) 个空格分隔的字符串,为实验室的研究员的名字。每个字符串均由小写字母组成,且至多包含 10 个字符。
以下 \(K\) 行,每行包含 \(N\) 个空格分隔的字符串,表示一份出版物的作者列表。
【输出格式】
输出 \(N\) 行,每行 \(N\) 个字符。在第 \(i\) 行内,对于所有 \(j≠i\),当可以确定第 \(i\) 名研究员比第 \(j\) 名研究员资历更深时字符 \(j\) 为 1,当可以确定第 \(i\) 名研究员比第 \(j\) 名研究员资历更浅时字符 \(j\) 为 0,当不能由给定的出版物确定时为 ?。第 \(i\) 行的字符 \(i\) 应为 B,因为这是 小H 最喜欢的字母。
【输入输出样例1】
Input
1 3
Efbm Fmtjd Njmesfe
Fmtjd Njmesfe Efbm
Output
B11
0B?
0?B
【输入输出样例2】
Input
2 3
Fmtjd Njmesfe Efbm
Fmtjd Njmesfe Efbm
Fmtjd Efbm Njmesfe
Output
B00
1B0
11B
【样例解释】
样例解释 1: 在这个样例中,单独一份论文 Fmtjd-Njmesfe-Efbm 并不能提供足够的信息判断 Fmtjd 比 Njmesfe 资历更深或更浅。然而,我们可以推断出 Efbm 一定比这两名研究员资历更深,从而资历排序为 Fmtjd<Njmesfe<Efbm 和 Njmesfe<Fmtjd<Efbm 均是可能的。
样例解释 2 在这个样例中,唯一能与两篇论文相一致的资历排序为 Fmtjd<Njmesfe<Efbm,这是因为基于第一个样例所提供的信息,第二篇论文可以帮助我们推断出 Njmesfe 比 Fmtjd 的资历更深。
【数据限制】
对于 \(100\%\) 的数据,\(1≤N≤100\),\(1≤K≤100\)。
【来源】
Mr.he