P1039 偵探推理

2021-09-27 10:08:07 字數 785 閱讀 1344

#include

#include

#include

using

namespace std;

int n,m,p,fake[21]

,err,w[

200]

,nx;

string name[

100]

,say[

200]

;string day[10]

=;void

set(

int who,

int yx)

intmain()

for(

int td=

1;td<=

7;td++

)//列舉今天是星期幾

for(

int px=

1;px<=m;px++)}

int cnt=

0,ppp=0;

//cnt:說假話的人數,ppp:不確定的人數

for(

int i=

1;i<=m;i++)if

(!err&&cnt<=n&&cnt+ppp>=n)

// 如果cnt<=n<=cnt+ppp,就說明這個假設合理

//如果出現impossible的情況,怎麼列舉都會err,這裡直接跳過就行了

if(nx&&nx!=px)

else nx=px;}if

(!nx)cout<<

"impossible"

;else cout<;}

P1039 偵探推理

include include include using namespace std int n,m,p,fake 21 err,w 200 nx string name 100 say 200 string day 10 void set int who,int yx intmain for i...

P1039 偵探推理

剛學oi的時候覺得難得要死。現在看 因為我們不知道誰是罪犯和今天是星期幾,所以我們全都列舉一下,然後判定答案。這樣思路是不是就很顯然了?先處理下證詞那些字串。然後對每個答案進行判定。判定出說謊人數不符合或又說真話又說假話等情況,就直接判false。然後對於每乙個人,只需要有一天滿足是 就說明這個人是...

洛谷 P1039 偵探推理

題目描述 明明同學最近迷上了偵探漫畫 柯南 並沉醉於推理遊戲之中,於是他召集了一群同學玩推理遊戲。遊戲的內容是這樣的,明明的同學們先商量好由其中的乙個人充當罪犯 在明明不知情的情況下 明明的任務就是找出這個罪犯。接著,明明逐個詢問每乙個同學,被詢問者可能會說 證詞中出現的其他話,都不列入邏輯推理的內...