1089 狼人殺 簡單版

2021-09-26 15:32:10 字數 585 閱讀 3463

/**

* 1.解題思路:每個人說的數字儲存在v陣列中,i從1~n、j從i+1~n遍歷,分別假設i和j是狼人

* a陣列表示該人是狼人還是好人,等於1表示是好人,等於-1表示是狼人。

* k從1~n分別判斷k所說的話是真是假,k說的話和真實情況不同

* (即v[k] * a[abs(v[k])] < 0)則表示k在說謊,則將k放在lie陣列中;

* 遍歷完成後判斷lie陣列,如果說謊人數等於2並且這兩個說謊的人乙個是好人乙個是狼人

* (即a[lie[0]] + a[lie[1]] == 0)表示滿足題意,此時輸出i和j並return,

* 否則最後的時候輸出no solution~

* **/

#include #include #include using namespace std;

int main() }}

cout << "no solution";

return 0;

}

1089 狼人殺 簡單版

以下文字摘自 靈機一動 好玩的數學 狼人殺 遊戲分為狼人 好人兩大陣營。在一局 狼人殺 遊戲中,1 號玩家說 2 號是狼人 2 號玩家說 3 號是好人 3 號玩家說 4 號是狼人 4 號玩家說 5 號是好人 5 號玩家說 4 號是好人 已知這 5 名玩家中有 2 人扮演狼人角色,有 2 人說的不是實...

1089 狼人殺 簡單版

以下文字摘自 靈機一動 好玩的數學 狼人殺 遊戲分為狼人 好人兩大陣營。在一局 狼人殺 遊戲中,1 號玩家說 2 號是狼人 2 號玩家說 3 號是好人 3 號玩家說 4 號是狼人 4 號玩家說 5 號是好人 5 號玩家說 4 號是好人 已知這 5 名玩家中有 2 人扮演狼人角色,有 2 人說的不是實...

PAT乙級 1089 狼人殺 簡單版

以下文字摘自 靈機一動 好玩的數學 狼人殺 遊戲分為狼人 好人兩大陣營。在一局 狼人殺 遊戲中,1 號玩家說 2 號是狼人 2 號玩家說 3 號是好人 3 號玩家說 4 號是狼人 4 號玩家說 5 號是好人 5 號玩家說 4 號是好人 已知這 5 名玩家中有 2 人扮演狼人角色,有 2 人說的不是實...