C語言中的盜賊(小偷)問題詳解
問題描述:警察審問4名竊賊嫌疑犯。現(xiàn)在已知,這4人當(dāng)中僅有一名是竊賊,還知道這4個(gè)人中的每個(gè)人要么是誠實(shí)的,要么總是說謊。
這4個(gè)人給警察的回答如下。
甲說:“乙沒有偷,是丁偷的。”
乙說:“我沒有偷,是丙偷的。”
丙說:“甲沒有偷,是乙偷的。”
丁說:“我沒有偷。”
請根據(jù)這4個(gè)人的回答判斷誰是竊賊。
分析過程:突破點(diǎn)從丁開始,因?yàn)楦鶕?jù)丁的回答是無法判斷的,而且我們可以發(fā)現(xiàn)甲乙丙三人的回答是十分相似的(如果不是ta,就是ta),我們現(xiàn)在先不去考慮甲乙丙誰說謊誰不說謊。我們先把甲乙丙丁設(shè)成ABCD,變量為1的是盜賊,那么
甲—B+D==1;
乙—B+C==1;
丙—A+B==1;
丁—A+B+C+D==1;
根據(jù)這四個(gè)人可以得到這四個(gè)條件
假定一個(gè)人是盜賊 代入這四個(gè)條件中
第一種:
#include <stdio.h>
int main()
{
int A,B,C,D;
for(A=0; A<=1; A++)
for(B=0; B<=1; B++)
for(C=0; C<=1; C++)
for(D=0; D<=1; D++)
{
if(B+D==1&&B+C==1&&A+B==1&&A+B+C+D==1)
if(A)
printf("甲是竊賊\n");
else if(B)
printf("乙是竊賊\n");
else if(C)
printf("丙是竊賊\n");
else
printf("丁是竊賊\n");
}
}第二種:只用一個(gè)for循環(huán)就可以了 假定一個(gè)人為盜賊代入條件
#include <stdio.h>
int main()
{
int i,A=1,B=0,C=0,D=0;
for(i=0; i<=1; i++)
if(B+D==1&&B+C==1&&A+B==1)
break;
else
{
if(i==1)
{
A=0;
B=1;
}
if(i==2)
{
B=0;
C=1;
}
if(i==3)
{
C=0;
D=1;
}
}
if(i==1)
printf("甲是盜賊");
if(i==2)
printf("乙是盜賊");
if(i==3)
printf("丙是盜賊");
if(i==4)
printf("丁是盜賊");
}到此這篇關(guān)于C語言中的盜賊(小偷)問題詳解的文章就介紹到這了,更多相關(guān)C語言盜賊問題內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
c++調(diào)用python實(shí)現(xiàn)圖片ocr識別
所謂c++調(diào)用python,實(shí)際上就是在c++中把整個(gè)python當(dāng)作一個(gè)第三方庫引入,然后使用特定的接口來調(diào)用python的函數(shù)或者直接執(zhí)行python腳本,本文介紹的是調(diào)用python實(shí)現(xiàn)圖片ocr識別,感興趣的可以了解下2023-09-09
Java C++ 題解leetcode857雇傭K名工人最低成本vector pair
這篇文章主要為大家介紹了Java C++ 題解leetcode857雇傭K名工人最低成本vector pair示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-09-09
C++中std::priority_queue的使用小結(jié)
std::priority_queue是C++ STL提供的優(yōu)先隊(duì)列,本文主要介紹了C++中std::priority_queue的使用小結(jié),具有一定的參考價(jià)值,感興趣的可以了解一下2025-04-04
C++使用模板實(shí)現(xiàn)單鏈表(類外實(shí)現(xiàn))
這篇文章主要為大家詳細(xì)介紹了C++使用模板實(shí)現(xiàn)單鏈表的相關(guān)資料,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-12-12
利用C++11原子量如何實(shí)現(xiàn)自旋鎖詳解
當(dāng)自旋鎖嘗試獲取鎖時(shí)以忙等待(busy waiting)的形式不斷地循環(huán)檢查鎖是否可用,下面這篇文章主要給大家介紹了關(guān)于利用C++11原子量如何實(shí)現(xiàn)自旋鎖的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2018-06-06

