现在的位置: 首页 > 综合 > 正文

22 4张红色的牌和4张蓝色的牌。;23 快速的方法计算出下面这个圆形是否和正方形相交

2018年01月20日 ⁄ 综合 ⁄ 共 835字 ⁄ 字号 评论关闭
<pre name="code" class="cpp">/*
第 22  题:
有 4  张红色的牌和 4  张蓝色的牌,主持人先拿任意两张,再分别在 A、B、C  三人额头上
贴任意两张牌,A、B、C  三人都可以看见其余两人额头上的牌,看完后让他们猜自己额头
上是什么颜色的牌,A  说不知道,B  说不知道,C  说不知道,然后 A   说知道了。
请教如何推理,A  是怎么知道的。如果用程序,又怎么实现呢?

*/

/*
因为第一次三者都说不知道,则两两相加不可能出现四红或四蓝,
则A,B,C中必须至少有一个是红蓝。

A看B和C,如果B和C中是两红和两蓝, 
则A第二次可以确定自己是红蓝。同理B和C也是,则这种方式成立。
假设rb bb rr 
A不知道 B不知道:说明A可能bb rb (rr不可能);C不知道说明A可能rr rb
所以A知道自己是rb  

剩下二种组合方式:三个人都是红蓝;两个人红蓝,一个人是两红或两蓝。

三个人都是红蓝,三个人都是红蓝,A就不说了,可以判断。
rb rb rb 
A不知道 B不知道:说明A可能bb rb rr ;C不知道说明A可能rr rb bb
所以A知道自己是rb 

如果A,B,C中有一个是两红和两蓝,那么另两个就可以第二次判断出自已是红蓝。
rb rr bb
同上

而此人只能判断出自己是两红或者是两蓝,那么A不能判断自己,所以A是红蓝,
B和C是中有一个是红蓝,一个是两红或两蓝.
所以A是红蓝,B和C不确定。

*/

/*
第 23  题:
用最简单,最快速的方法计算出下面这个圆形是否和正方形相交。"
3D  坐标系原点(0.0,0.0,0.0)
圆形:
半径 r = 3.0
圆心 o = (*.*, 0.0, *.*)
正方形: 
4个角坐标;
1:(*.*, 0.0, *.*)
2:(*.*, 0.0, *.*)
3:(*.*, 0.0, *.*)
4:(*.*, 0.0, *.*)
*/

/*
计算正方形四个顶点和圆的关系,分3中情况:
1.圆内圆外都有顶点,相交
2.4个都在圆内,不相交
3.4个都在圆外,计算圆心到每条方形每条边的线段边的垂线交点
(交点必须在边的线段上),
如果有一个交点在圆内,相交。 
否则,不相交。
*/ 

抱歉!评论已关闭.