以下文字摘自《灵机一动·好玩的数学》:“狼人杀”游戏分为狼人、好人两大阵营。在一局“狼人杀”游戏中,1号玩家说:"2号是狼人”2号玩家说:“3号是好人”,3号玩家说:“4号是狼人”,4号玩家说:“5号是好人”,5号玩家说:"4号是好人”。已知这5名玩家中有2人扮演狼人角色,有2人说的不是实话,有狼人撒谎但并不是所有狼人都在撒谎。扮演狼人角色的是哪两号玩家?本题是这个问题的升级版:已知 N 名玩家中有 M 人扮演狼人角色,有乚人说的不是实话,有狼人撒谎但并不是所有狼人都在撒谎,要求你找出扮演狼人角色的是哪几号玩家?
输入在第一行中给出三个正整数N、M、L,其中5≤N≤100,2≤M,L≤N。随后N行,第i行给出第j号玩家说的话(1≤i≤N),即一个玩家编号,用正号表示好人,负号表示狼人。
如果有解,在一行中按递减顺序输出 M 个狼人的编号,其间以空格分隔,行首尾不得有多余空格。如果解不唯一,则输出最大序列解 -即对于两个席列 A ={a[1],…,a[M]}和 B={b[1],…,b[M]},若存在0≤k<M 使得 a[i]=bi,且a[k+1]>b[k+1],则称序列 A 大于席列 B。若无解则输出“No Solution”。
5 2 2 -2 +3 -4 +5 +4
4 1
6 2 3 -2 +3 -4 +5 +4 -3
6 4
6 2 5 -2 +3 -4 +5 +4 +6
No Solution