鹿死谁手

古代有一个皇帝,命令A、B、C、D、E、F、G、H的八员大将陪同他外出打猎。经过一番追逐,有一员大将的一支箭射中了一只鹿,是哪一员大将射中的,开始谁也不清楚。这时候,皇帝叫大家先不要去看箭上刻写的姓名,而要大家先猜猜究竟是谁射中的。八员大将众说纷纭。 

A说:“或者是H将军射中的,或者是F将军射中的。” 
B说:“鹿肯定是我射中的啦。” 
C说:“我可以断定是G将军射中的。” 

D说:“怎么说也不可能是B将军射中的!” 
E说:“A将军猜错了。” 
F说:“不会是我射中的,也不是H将军射中的。” 

G说:“绝对不是C将军射中的。” 
H说:“我同意A将军的观点。” 


猜完之后,皇帝命令把鹿身上的箭拨出来验看,证实八员大将中有n个人猜对了。问:鹿是谁射死的? 

#include 
#include void judeg(int &x)
{int m,count=0,sum = 0;char ch;for(int i=0;i<8;i++){m = 'A' + i;//将所有事件转化确定的数字,如果几个成立,sum就等于几sum =(m=='H' || m=='F')+(m=='B')+(m=='G')+(m!='B')+(m!='H'&&m!='F')+(m!='F'&&m!='H')+(m!='C')+(m=='H' || m=='F');if(sum == x){count++;ch = m;}	}if(count == 1)std::cout<>x;judeg(x);system("pause");return 0;
}

最为关键的是将事件转化为我们可以确定的数字;

把每个事件成立即为1,不成立为0;


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部