試題 演算法提高 斷案

2021-10-05 06:57:51 字數 787 閱讀 2871

問題描述

公安人員審問甲、乙、丙、丁四個嫌疑犯,已確知,這四個人當中僅有一人是偷竊者,還知道這四個人的答話,要麼完全誠實,要麼完全說謊。在回答公安人員的問話中:

甲說:「乙沒有偷,是丁偷的。」

乙說:「我沒有偷,是丙偷的。」

丙說:「甲沒有偷,是乙偷的。」

丁說:「我沒有偷,我用的那東西是我家裡的。」

請根據上述四人答話,判斷誰是偷竊者。

輸入格式:無輸入。

輸出格式:輸出乙個字元,表示偷竊者是誰,a表示甲,b表示乙,c表示丙,d表示丁。

資源限制

時間限制:1.0s 記憶體限制:512.0mb

解題方法

粗略讀四個人的對話,發現乙的對話中有問題!理由如下:

1,題目說四個人中只有乙個偷竊者,

2,乙個人要麼完全誠實,要麼完全說謊

3,如果乙說的都是真話,那麼就是丙偷的;如果乙說的是假話,那麼就是自己偷的。

4,如果是丙偷的,那麼在甲的問話中就會出現矛盾,因為乙的問話中要麼是乙偷的要麼是丁偷的,沒有說丙偷的。

綜上所述:乙說的是假話,故乙是小偷。

**塊

class

main

}

評測結果

演算法提高 斷案

問題描述 公安人員審問甲 乙 丙 丁四個嫌疑犯,已確知,這四個人當中僅有一人是偷竊者,還知道這四個人的答話,要麼完全誠實,要麼完全說謊。在回答公安人員的問話中 甲說 乙沒有偷,是丁偷的。乙說 我沒有偷,是丙偷的。丙說 甲沒有偷,是乙偷的。丁說 我沒有偷,我用的那東西是我家裡的。請根據上述四人答話,判...

試題 演算法提高 vertex cover dfs

問題描述 給定乙個n個點m條邊的無向圖g 點的編號從1至n 問是否存在乙個不超過k個點的集合s,使得g中的每條邊都至少有乙個點在集合s中。輸入格式 輸入的第一行包含乙個整數t,表示資料的組數。接下來t組資料中 每組輸入的第一行包含三個整數n,m,k,分別表示圖的點數,邊數,集合點數的最大值。接下來m...

試題 演算法提高 成績排序

藍橋杯習題答案彙總 資源限制 時間限制 1.0s 記憶體限制 256.0mb 問題描述 給出n個學生的成績,將這些學生按成績排序,排序規則,優先考慮數學成績,高的在前 數學相同,英語高的在前 數學英語都相同,語文高的在前 三門都相同,學號小的在前 輸入格式 第一行乙個正整數n,表示學生人數 接下來n...