AcWing 1641. 狼人杀-简单版
原题链接
简单
作者:
叶枝黎曼
,
2020-10-30 13:53:06
,
所有人可见
,
阅读 300
计算机思维 =_+
先对狼人进行枚举,之后再验证是否正确
python版本
def solve():
for i in range(1,n):
for j in range(i + 1,n + 1):
num = 0
LangH = 0
for k in range(1,n+1): #枚举说辞
if abs(board[k]) == i or abs(board[k]) == j: #说狼的
if board[k] > 0 : #说谎
num += 1
if k == i or k == j: #说谎是狼
LangH += 1
else: #说好人的
if board[k] < 0 : #说谎
num += 1
if k == i or k == j: #说谎是狼
LangH += 1
if num == 2 and LangH == 1:
print(i,j)
return
print("No Solution")
n = int(input())
board = [0]
for i in range(n):
board.append(int(input()))
solve()