假設i是犯人,則說真話的人數=說i是犯人的人數+(說某人不是犯人的人數-說i不是犯人的人數)
若i說x是犯人,x可能是犯人時,i說的可能是真話也可能是假話;x不可能是犯人時,i說的必為假話
若i說x不是犯人,x可能是犯人時,i說的可能是真話也可能是假話;x不可能是犯人時,i說的必為真話
#include#include#includeusing namespace std;
int v[100010],t[100010],f[100010],bo[100010];
int main()
} for(int i=1;i<=n;i++)
else bo[i]=0;
} if(num>1)
}else
}} return 0;
}
FZU2202 犯罪嫌疑人
problem 2202 犯罪嫌疑人 福爾摩斯是個大偵探,他總是在解決疑難案件。這一次的案件也不例外,案件是這樣的 有編號為1到n的n位嫌疑犯,他們其中有乙個犯了罪,然後每個嫌疑犯都被詢問,哪乙個人犯了罪?犯罪嫌疑人的答案只能 編號ai的嫌疑犯犯了罪 或者 編號ai的嫌疑犯沒有犯罪 當然嫌疑犯也可以...
FZU2202 犯罪嫌疑人(邏輯推理 模擬)
福爾摩斯是個大偵探,他總是在解決疑難案件。這一次的案件也不例外,案件是這樣的 有編號為1到n的n位嫌疑犯,他們其中有乙個犯了罪,然後每個嫌疑犯都被詢問,哪乙個人犯了罪?犯罪嫌疑人的答案只能 編號ai的嫌疑犯犯了罪 或者 編號ai的嫌疑犯沒有犯罪 當然嫌疑犯也可以說他自己 ai i 福爾摩斯憑著他敏銳...
G FZU2022 犯罪嫌疑人
這道題題意很清楚,是推理題,主要靠思維,部分比較簡單。以下是解題思路 按照 順序編寫,可以對照著看 a i 表示第i個人被指控的次數,a i 表示地i個人被澄清的次數,suspect i 表示第i個人是否為嫌疑人,tmp記錄那個人的口供。現在假設第i個人是罪犯,則xx a i b b i 為所真話的...