P4355 [CERC2015] Kernel Knights
题面翻译:
骑术是一项中世纪的比赛,人们骑在马背上,在高速骑行时,试图用木制长矛互相攻击。总共有2n个骑士参加了一个激战锦标赛——来自两个主要竞争对手的N个骑士。到达后,每一个骑士都从另一个房间挑战一个骑士进行决斗。
内核被定义为骑士的一些子集,具有以下两个属性:
•S中没有骑士受到S中另一个骑士的挑战。
每一个不在S中的骑士都会受到一些S中的骑士的挑战。
考虑到所面临的一系列挑战,确定一个内核。可以保证内核始终存在。
题目描述:
Jousting is a medieval contest that involves people on horseback trying to strike each other with wooden lances while riding at high speed. A total of 2n knights have entered a jousting tournament – n knights from each of the two great rival houses. Upon arrival, each knight has challenged a single knight from the other house to a duel.
A kernel is defined as some subset S of knights with the following two properties:
• No knight in S was challenged by another knight in S.
• Every knight not in S was challenged by some knight in S.
Given the set of the challenges issued, find one kernel. I