#CPP1I. 分片复原
分片复原
题意:
有 条消息。第 条消息原本由 个非空片段依次拼接而成,片段位置从 到 编号。
现在收到 条片段记录,每条记录给出消息编号、片段位置和片段内容。记录可能乱序、重复,也可能缺失。
请对每条消息按以下优先级输出结果:
- 如果同一片段位置收到过不同内容,输出
CONFLICT。即使还存在缺失片段,也优先输出这个结果。 - 否则,如果至少一个片段位置没有收到记录,输出
INCOMPLETE。 - 否则,输出
OK和完整消息,中间以一个空格分隔。完整消息按照片段位置从小到大直接拼接,不添加分隔符。
同一位置重复收到完全相同的内容不算冲突,并且该片段只拼接一次。不同位置允许具有相同内容。
输入格式:
第一行两个整数 、(,),分别表示消息数量和收到的记录数量。
第二行 个整数 (),表示各条消息的片段数。保证 。
接下来 行,每行给出两个整数 、 和一个字符串 (,,),分别表示消息编号、片段位置和片段内容。字符串仅由小写英文字母组成。
输出格式:
输出 行,第 行为第 条消息的结果,格式为 CONFLICT、INCOMPLETE 或 OK content,其中 content 替换为完整消息。
样例:
样例输入1:
4 8
3 2 2 1
1 2 cd
1 1 ab
1 2 cd
1 3 e
2 1 x
2 1 y
3 2 zz
4 1 hi
样例输出1:
OK abcde
CONFLICT
INCOMPLETE
OK hi
样例解释1:
第 条消息的第二个片段重复出现,但内容相同。第 条消息的第一个片段存在冲突,因此即使第二个片段缺失,也输出 CONFLICT。
样例输入2:
1 0
1
样例输出2:
INCOMPLETE
相关
在下列比赛中: