方向一:
**參考
其實還是沒懂。若滿足說謊人數=2,說謊中的狼人=1,即為找到了乙個結果(不需要你再去找另乙個說謊者是誰)
關鍵先確定狼人找說謊者——由衝突計算說謊者數量
#include #include using namespace std;
int main(void)
vectorgoodman(n + 1,1);//goodman[i]==1表示i號是好人
int i,j;
for ( i = 1; i 柳大佬的:原始資料,狼人,說謊者各自儲存,**簡潔了好多
#include #include #include using namespace std;
int main() }}
cout << "no solution";
return 0;
}
方向二:
錯誤**——確定說謊者找狼人
#include using namespace std;
bool equal(int a, int b);
int main()
; for (int i = 1; i <= num; i++)
int i, j;
for (i = 1; i <= num; i++)
jugde[abs(result[i])] = result[i] * (-1);
jugde[abs(result[j])] = result[j] * (-1);
for (int k = 1; k <= num; k++)
else if (jugde[abs(result[k])] * result[k] < 0) //不等
else
jugde[abs(result[k])] = result[k];}}
if (flag && equal(jugde[i], jugde[j])) //不衝突並且說謊人中有乙個狼人
for (int s = 1; s <= num; s++)
}} return 0; }}
bool equal(int a, int b)//符號不同為1
1089 狼人殺 簡單版 (20 分)
以下文字摘自 靈機一動 好玩的數學 狼人殺 遊戲分為狼人 好人兩大陣營。在一局 狼人殺 遊戲中,1 號玩家說 2 號是狼人 2 號玩家說 3 號是好人 3 號玩家說 4 號是狼人 4 號玩家說 5 號是好人 5 號玩家說 4 號是好人 已知這 5 名玩家中有 2 人扮演狼人角色,有 2 人說的不是實...
1089 狼人殺 簡單版 20 分
題意描述 以下文字摘自 靈機一動 好玩的數學 狼人殺 遊戲分為狼人 好人兩大陣營。在一局 狼人殺 遊戲中,1 號玩家說 2 號是狼人 2 號玩家說 3 號是好人 3 號玩家說 4 號是狼人 4 號玩家說 5 號是好人 5 號玩家說 4 號是好人 已知這 5 名玩家中有 2 人扮演狼人角色,有 2 人...
1089 狼人殺 簡單版 20 分
以下文字摘自 靈機一動 好玩的數學 狼人殺 遊戲分為狼人 好人兩大陣營。在一局 狼人殺 遊戲中,1 號玩家說 2 號是狼人 2 號玩家說 3 號是好人 3 號玩家說 4 號是狼人 4 號玩家說 5 號是好人 5 號玩家說 4 號是好人 已知這 5 名玩家中有 2 人扮演狼人角色,有 2 人說的不是實...