計蒜客 蒜廠活動

2021-07-29 12:24:01 字數 830 閱讀 7134

蒜廠的 5個人坐在乙個圓桌,每人頭頂都帶一頂帽子,有的人的帽子是白色的,有的人的帽子是黑色的。

a 說:「我看到有三個人戴的白帽子,一人戴的黑帽子。」

b 說:「我看見其它四人戴的都是白帽子。」

c 說:「我看見一人戴的白帽子,其它三人戴的黑帽子。」

d 說:「我看見四人戴的的都是白帽子。」

e 什麼也沒說。

如果戴黑帽子的人都說謊,戴白帽子的人都說實話。求出每個人戴的帽子的顏色。

輸入格式

無輸入輸出格式

輸出 5 行,每行分別代表 a, b, c, d, e 的帽子顏色,如果是白色輸出」white」,如果是黑色輸出」black」

其實這題自己推理一下就出來了。

從d開始分析,因為他看見四人是白帽子的話,那他必然是黑帽子,d是說謊的,因為如果他是白帽子的話,是真話,那麼a,b,c,e都是白帽子,他們也是說真話,那必然矛盾,所以d為黑帽子。

然後分析b,因為他看見四人是白帽子,因此他必然是黑帽子,原因和之前一樣。

然後分析a,他說他看到有三個人戴的白帽子,一人戴的黑帽子,但此時b,d都是黑帽子,矛盾,因此,a是撒謊的,所以他是黑帽子。

然後分析c,他說他看見一人戴的白帽子,其它三人戴的黑帽子,他必然是白帽子,因為題目說戴白帽子是說實話,但此時e沒有說話,而d,b,a都是說謊的,因此c必然是說實話。

那麼根據c所說的話,可以知道e是白帽子。

#include 

using

namespace

std;

int main()

計蒜客習題 蒜廠年會

蒜廠要開年會了,所有的員工都要參加。每兩個員工之間都有乙個親密度。在同乙個專案工作過的員工之間的親密度為 1。如果 a 和 b b 和 c 均在同乙個專案中工作過,而 a 和 c 沒有,那麼 a 和 c 之間的親密度為 1 1 2。同理,如果 a 和 b 之間的親密度為 x,b 和 c 之間的親密度...

計蒜客 2019計蒜之道D

題意 現在給定你乙個字串 s ss 以及乙個整數 k kk,請求出 s ss的字典序最小的長度為 k kk的子串行。資料範圍 0 s 5000000 00 s 5000 000 樣例輸入 helloworld 5樣例輸出 ellld思路 假如我們先不考慮長度為k的限制我們應當怎麼做?我們以樣例為例子...

計蒜客 解碼

蒜頭君自己發明了一種字串的編碼方式,對於只含有大小寫字母的字串,可以用數字來表示括號裡面的串連續出現的次數 數字有可能超過一位數 比如a abcd 2等價於aabcdabcd。特別地,如果數字前面沒有括號,表示緊貼數字的前面的 乙個字母 出現的次數。比如abc2表示abcc。為了降低解碼的難度,蒜頭...