最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
加注解的纸条问题新写的程序推敲
时间:2008-04-26 编辑:简简单单 来源:一聚教程网
// 主程序
/*
数组: a[1]~a[5]表示a,b,c,d,e的当前人对别人作出的判断,
b[1]~b[5]表示当前人判断完所能推出的状态
values[1]~values[5]分别为a,b,c,d,e所描述的白的个数
用1,0分别表示白,黑,即a[1]=1,白,b[1]=1,白
从A到D挨个判断,计4轮,每次依据自己的描述判断别人的状态a[],再推断其前面的人b[]的状态,修改自己的状态
*/
#include
#include
void main() {
unsigned char j;
for(j=1;j<=4;j++){
judge(j);
}
}
void judge(unsigned char num){
unsigned char i;
white_number=0;
for(i=1;i<=4;i++){ // 先不考虑 e
if((values[i]==values[num])&&(b[i]==1)&&(values[i]>=1)) {a[i]=1;} // 与当前描述相符视为"白"
if((values[i]==values[num])&&(b[i]==0)) {b[num]=0;} // 与已经定为"黑"的描述同,则直接认定为"黑"
else if((values[i]==1)&&(values[num]==0)){a[i]=0;b[num]=0;} // 矛盾描述时直接认定为"黑"
else {a[i]=0;}
white_number=white_number+a[i];
}
white_number=white_number-a[num];
if(white_number==values[num]) {} // 暂定为白不考虑e
else if((white_number==1)&&(values[num]==0)) {b[5]=1;} // 单独考虑e
else {b[num]=0;}
print(num); &
-
上一个: 约瑟夫环问题
-
下一个: 车站管理系统---自动计算费用
相关文章
- java怎么用记事本打开?怎么运行用记事本写的java程序 02-15
- 安全脚本程序的编写 V1.0(2) 01-12
- 如何利用VB编写NT服务程序 01-12
- 讲解关于编写跨平台Java程序时的注意事项 01-12
- 安全脚本程序的编写 V1.0(1) 01-12
- 一个用C#写的词法分析程序 01-12
热门栏目
-
php教程
php入门 php安全 php安装 php常用代码 php高级应用 -
asp.net教程
基础入门 .Net开发 C语言 VB.Net语言 WebService -
手机开发
安卓教程 ios7教程 Windows Phone Windows Mobile 手机常见问题 -
css教程
CSS入门 常用代码 经典案例 样式布局 高级应用 -
网页制作
设计基础 Dreamweaver Frontpage js教程 XNL/XSLT -
办公数码
word excel powerpoint 金山WPS 电脑新手 -
jsp教程
Application与Applet J2EE/EJB/服务器 J2ME开发 Java基础 Java技巧及代码