有一个由按钮组成的矩阵, 其中每行有6个按钮, 共5行– 每个按钮的位置上有一盏灯– 当按下一个按钮后, 该按钮以及周围位置(上边, 下边,左边, 右边)的灯都会改变状态26熄灯问题 POJ1222– 如果灯原来是点亮的, 就会被熄灭– 如果灯原来是熄灭的, 则会被点亮 在矩阵角上的按钮改变3盏灯的状态 在矩阵边上的按钮改变4盏灯的状态 其他的按钮改变5盏灯的状态27熄灯问题 POJ1222 与一盏灯毗邻的多个按钮被按下时,一个操作会抵消另一次操作的结果 给定矩阵中每盏灯的初始状态,求一种按按钮方案,使得所有的灯都熄灭熄灯问题 POJ1222 输入:– 第一行是一个正整数N, 表示需要解决的案例数– 每个案例由5行组成, 每一行包括6个数字– 这些数字以空格隔开, 可以是0或1– 0 表示灯的初始状态是熄灭的– 1 表示灯的初始状态是点亮的29熄灯问题 POJ1222 输出:– 对每个案例, 首先输出一行,输出字符串 “PUZZLE #m”, 其中m是该案例的序号– 接着按照该案例的输入格式输出5行 1 表示需要把对应的按钮按下 0 表示不需要按对应的按钮 每个数字以一个空格隔开

代码如下:

#include #includeusing namespace std;char Oright[5];char Light[5];char Result[5];void SetChar(char &  t,int j,int s);void OutPut(char * t);int GetChar(char  t,int j);void Flip(char & s,int i);int main()

{    int switches;    for(int i=0;i<5;i++)//一个位一个位的存储。    {        for(int j=0;j<6;j++)

{            int s;

cin>>s;

SetChar(Oright[i],j,s);

}

}    for(int i=0;i<64;i++)

{

memcpy(Light,Oright,sizeof(Oright));

switches=i;        for(int j=0;j<5;j++)//对于i的值,每行开始测试        {

Result[j]=switches;//Result存储的是开关的按压方案。

for(int k=0;k<6;k++)//每列开始测试            {                if(GetChar(switches,k))

{                    if(k>0)

Flip(Light[j],k-1);//左边开始变化                    Flip(Light[j],k);                    if(k<5)

Flip(Light[j],k+1);//右边开始变化                }

}            if(j<4)

Light[j+1]^=switches;

switches=Light[j];

}        if(Light[4]==0)

{

cout<

OutPut(Result);            break;

}

}    return 0;

}void Flip(char & s,int i)

{

s=s^(1<

}int GetChar(char  t,int j)

{    return (t>>j)&1;

}void SetChar(char & t,int j,int s)

{    if(s==1)

t=t|(1<

t=t&(~(1<

}void OutPut(char * t)

{    for(int i=0;i<5;i++)

{        for(int j=0;j<6;j++)

{

cout<

cout<

}

cout<

}

java 熄灯问题_C++基础算法学习——熄灯问题相关推荐

  1. C++基础算法学习——熄灯问题

    有一个由按钮组成的矩阵, 其中每行有6个按钮, 共5行 – 每个按钮的位置上有一盏灯 – 当按下一个按钮后, 该按钮以及周围位置(上边, 下边, 左边, 右边)的灯都会改变状态 26熄灯问题 POJ1 ...

  2. 【基础】基础算法学习笔记(状态空间)

    基础算法学习笔记(状态空间) 一.状态空间 1.定义(什么是状态空间):一个实际问题的各种可能情况构成的集合.(解释:为什么需要算法来和程序来处理问题?如果一道题可以手算得到答案,换句话说就是存在通过 ...

  3. 基础算法学习大纲(附加yxc大佬算法模板)

    基础算法学习大纲总结 学习算法路线 1.基础算法 模板 1.排序 2.二分 3.高精度 4.前缀和与差分 5.双指针算法 6.位运算 7.离散化 8.区间合并 2.数据结构 模板 1.链表与邻接链表( ...

  4. 算法简介及计算机算法基础——算法学习(四)

    文章目录 关注算法缘由 描述计算机算法基础 描述运行时间 循环不变式 参考文档 接下来的算法学习内容主要根据<程序员必读经典(算法基础+计算机系统)>一书而写,作为读书笔记,感兴趣的可以见 ...

  5. 小白机器学习基础算法学习必经之路

    https://www.toutiao.com/a6657427848900379150/ 2019-02-14 15:21:13 未来,人工智能是生产力,是变革社会的主要技术力量之一. 掌握人工智能 ...

  6. 0基础学java培训_零基础可以学习java课程么?零基础java培训需要多久?

    零基础可以学习java课程么? 第一.兴趣爱好是重要,总体目标很重要 在你学习培训java以前,一定要清晰自身对java是不是确实很感兴趣,還是一时头昏脑涨.终究学习培训java不仅要把握技术性,也要 ...

  7. Java入门篇——零基础如何学习Java

    当今是一个互联网高速发展的时代,不管是传统互联网还是移动互联网,都已经和人们的日常生活息息相关.Java作为一门高级编程语言在信息科技时代有着广泛的应用.譬如电子政务.金融.通信.各种企业级的应用管理 ...

  8. java自学语法_java 基础语法学习

    注释 单行注释 多行注释 文档注释 public class HelloWorld { public static void main(String[] args) { //单行注释 //输出一个He ...

  9. 基础算法学习(二)_二叉树及应用赫夫曼编码

    这次学习的重点在于二叉树的性质.链式存储结构(也就是C语言的struct)和赫夫曼编码,学习的教材是清华大学出版社出版的C语言版数据结构. 首先是二叉树:     二叉树(Binary Tree)是另 ...

  10. Java核心技术 卷1 基础知识 学习笔记——第三章 java的基本程序设计结构

    1. 一个正整数除以0的结果为正无穷大,0/0或者负数的平方根的结果为NaN(不是一个数字): if(x==Double.NaN)//is never true,所有非数值的值都认为是不同的 if(D ...

最新文章

  1. 微信拦截URL,使用自己内置的web组件打开URL,为什么没人声讨?
  2. 汉字内码UNICODE转换表
  3. Unix/Linux操作系统中如何在sqlplus/rman中使用方向键
  4. PB级分布式大数据的处理和分析应用
  5. 备战秋招 |《百面机器学习》算法+leetcode开班报名!
  6. VC内存对齐准则(Memory alignment)
  7. hp服务器pe系统安装win7系统安装系统安装,惠普Folio 1040 G1 u盘pe如何重装win7系统...
  8. 《Python编程初学者指南》——第1章 启程:Game Over程序 1.1 剖析Game Over程序
  9. 持续输出|我的 2019 年
  10. 5号,7号电池充电时间计算方法
  11. startx analyze
  12. 用go实现linux命令行
  13. 737到底是什么问题难到了波音公司?
  14. 深度学习中的温度参数(temperature parameter)--疑问待解决
  15. 在电脑上限制他人网速--需要同一个区域网
  16. 读王坚博士的《在线》有感
  17. 54.查表法按日期生成流水号的案例
  18. User-Agent结构介绍及主流浏览器User-Agent大全
  19. Emoji的编码格式(emoji 简介)
  20. 元宇宙工业领域落地方法探讨

热门文章

  1. OrthoFinder 进行直系同源基因分析教程
  2. 版本服务器 哪些文件不应该提交,总结firefly版本服务器使用方法
  3. Java中文繁简体转换工具
  4. 用foobar2000播放云服务器文件,foobar2000英文版怎么用 foobar2000怎么播放音频
  5. Android视频播放器没声,Windows/Android/iOS全平台支持的视频播放器EasyPlayerPro,iOS版播放无音频问题如何解决?...
  6. 日语“不要”有几种说法。
  7. 测试apk-异常管控NetTraffic攻击者开发
  8. Excel去掉下划线首字母小写的公式
  9. VB.net 播放 WAV音乐
  10. 比特大陆招股书曝光;阿里否认阻挠滴滴收购OFO;Uber巨资了结数据泄露案| 雷锋早报...