//遍历搜索空间的例子:熄灯问题

#include

int puzzle[6][8],press[6][8];

bool guess()

{

int c,r;

for(r=1;r<5;r++)

for(c=1;c<7;c++)

press[r+1][c]=(puzzle[r][c]+press[r][c]+press[r-1][c]+press[r][c-1]+press[r][c+1])%2;

for(c=1;c<7;c++)

if((press[5][c-1]+press[5][c]+press[5][c+1]+press[4][c])%2!=puzzle[5][c])

return false;

return true;

}

void enumate()

{

int c;

bool success;

for(c=1;c<7;c++)

press[1][c]=0;

while(guess()==false)

{

press[1][1]++;

c=1;

while(press[1][c]>1)

{

press[1][c]=0;

c++;

press[1][c]++;

}

}

return;

}

int main()

{

int cases,i,r,c;

scanf("%d",&cases);

for(r=0;r<6;r++)

press[r][0]=press[r][7]=0;

for(c=1;c<7;c++)

press[0][c]=0;

for(i=0;i

{

for(r=1;r<6;r++)

for(c=1;c<7;c++)

scanf("%d",&puzzle[r][c]);

enumate();

printf("PUZZLE #%d\n",i+1);

for(r=1;r<6;r++)

{

for(c=1;c<7;c++)

printf("%d ",press[r][c]);

printf("\n");

}

}

return 0;

}

posted on

2015-07-20 22:18

_noname

阅读(95)

评论(0)

编辑

收藏

java 熄灯问题_遍历搜索空间的例子:熄灯问题相关推荐

  1. 枚举--遍历搜索空间的例子:熄灯问题

    问题描述 有一个由按钮组成的矩阵,其中每行有6 个按钮,共5 行.每个按钮的位置上有一盏灯. 当按下一个按钮后,该按钮以及周围位置(上边.下边.左边.右边)的灯都会改变一次.即, 如果灯原来是点亮的, ...

  2. java hashmap is遍历_关于内存:在Java(或Scala)中遍历HashMap的HashMap

    我创建了一个类Foo,该类具有返回Array的方法toArray(). 现在,我有一个将字符串映射到HashMaps的HashMap,后者将对象映射到Foo.那是: HashMap> 我想创建一 ...

  3. java的list遍历_【java】list集合遍历的5种方式

    平凡也就两个字: 懒和惰; 成功也就两个字: 苦和勤; 优秀也就两个字: 你和我. 跟着我从0学习JAVA.spring全家桶和linux运维等知识,带你从懵懂少年走向人生巅峰,迎娶白富美! 关注微信 ...

  4. 学习笔记:Java 并发编程⑥_并发工具_JUC

    若文章内容或图片失效,请留言反馈. 部分素材来自网络,若不小心影响到您的利益,请联系博主删除. 视频链接:https://www.bilibili.com/video/av81461839 配套资料: ...

  5. Java 多维数组遍历

    多维数组 数组是Java中的一种容器对象,它拥有多个单一类型的值.当数组被创建的时候数组长度就已经确定了.在创建之后,其长度是固定的.下面是一个长度为10的数组: 1 2 3 4 public cla ...

  6. java使用htmlparser提取网页纯文本例子

    转载自   java使用htmlparser提取网页纯文本例子 这篇文章主要介绍了java使用htmlparser提取网页纯文本例子,需要的朋友可以参考下 package com.test; impo ...

  7. 学习笔记:Java 并发编程①_基础知识入门

    若文章内容或图片失效,请留言反馈. 部分素材来自网络,若不小心影响到您的利益,请联系博主删除. 视频链接:https://www.bilibili.com/video/av81461839 视频下载: ...

  8. 学习笔记:Java 并发编程②_管程

    若文章内容或图片失效,请留言反馈. 部分素材来自网络,若不小心影响到您的利益,请联系博主删除. 视频链接:https://www.bilibili.com/video/av81461839 配套资料: ...

  9. 学习笔记:Java 并发编程④_无锁

    若文章内容或图片失效,请留言反馈. 部分素材来自网络,若不小心影响到您的利益,请联系博主删除. 视频链接:https://www.bilibili.com/video/av81461839 配套资料: ...

  10. Java编程题_面向对象和常用API01_B级

    Java编程题_面向对象和常用API01_B级 第1题 面向对象.异常.集合.IO 题干: 请编写程序,完成键盘录入学生信息,并计算总分将学生信息与总分一同写入文本文件 需求:键盘录入3个学生信息(姓 ...

最新文章

  1. 手动设计简单的Token验证
  2. 在windows下用VMware虚拟机来安装linux
  3. VMWare 环境下devstack创建虚拟机报错及修改nova-api返回数据得条目
  4. forager有多少个机器人_诠视科技:VSLAM技术进展让移动机器人自主行驶有了更广阔的空间...
  5. 5008.vs2015创建c++动态库
  6. android 拍摄二维码图片 变形矫正_鼻中隔先天偏曲矫正特殊案例——我为何给她做了两次手术...
  7. lempel ziv matlab,精讲Lempel-Ziv压缩算法
  8. python求斜边上的高是多少厘米_已知一个直角三角形的两条直角边,如何求斜边上的高的长度...
  9. mysql ipv6 字段_MySQL中ipv6地址用什么类型存储?
  10. 10款暗色质感和黑白效果LR预设
  11. cannot uninstall a distutils installed project'
  12. [ukulele]入门指南
  13. 华东康桥计算机音乐,感受人文至美 华东康桥2019年第二届音乐飨宴盛大开幕
  14. 【数据结构——图和图的存储结构】
  15. 读《计算机网络》——深入浅出——以考研为目标学技术面试知识二刷计网——网络层
  16. R语言中实现线性回归+l_0范数变量选择的包abess
  17. maven自带clean_Maven生命周期(示例代码)
  18. Mac OS X 常用应用程序介绍
  19. 盛迈坤电商:拼多多开店需要掌握的开店基础
  20. i.MX8m mini核心板及开发板介绍(MYC-C8MMX)

热门文章

  1. ExoPlayer播放器播放MP2音频格式视频无声音加入Ffmpeg软解码功能
  2. Burst(突发)信号
  3. 2020年的5种常见骇客行为,你的电脑安全吗?
  4. 计算机网络中报文摘要概念,报文摘要详细介绍
  5. unity 接入谷歌广告
  6. 模仿QQ侧滑样式,借鉴了张鸿洋的最简单侧滑
  7. 1.26赛尔号服务器维护时间,赛尔号稀有精灵出现时间大全(完全版)
  8. 坐标中c语言作正弦图,C语言绘制余弦、正弦曲线
  9. 缅怀过往_飘云羽逸_新浪博客
  10. 智能陈桥输入法软件测试,智能陈桥 for linux 版本发布