费解的开关

  1. 按法与顺序无关

  2. 每个各自最多按一次

  3. 枚举第一行的操作

  4. 每一行开关的操作由上一行灯的亮灭唯一确定

  5. 枚举第一行的状态
    利用位运算

  6. 从第二行开始由上一行灯的亮灭决定本行的开关操作,当要执行第h行时,前n-1行一定全亮,只要特判最后一行是否全亮即可

在做题时要注意数据范围!飞行员问题可以直接枚举216到225
定义偏移量

#include <iostream>
#include <cstring>using namespace std;const int INF = 100000;char g[10][10];
int dx[5] = {0, -1, 0, 1, 0}, dy[5] = {0, 0, 1, 0, -1};void turn(int x, int y)
{for(int i=0; i<5; i++){int a=x + dx[i], b = y + dy[i];if(a >= 0 && a < 5 && b >= 0 && b < 5){g[a][b] ^= 1;}}
}int work()
{int ans = INF;for(int k = 0; k < 1 << 5; k++){int res=0;char backup[10][10];memcpy(backup,g,sizeof g);for(int j=0; j<5; j++)if(k >> j & 1){res++;turn(0,j);}for(int i=0; i<4; i++)for(int j=0; j<5; j++)if(g[i][j]=='0'){res++;turn(i+1, j);}bool is_successful = true;for(int j=0; j<5; j++)if(g[4][j]=='0'){is_successful = false;break;}if(is_successful) ans = min(ans,res);memcpy(g, backup, sizeof g);}if(ans > 6) ans = -1;return ans;
}int main()
{int T;cin >> T;while(T--){for(int i = 0; i<5; i++) cin >> g[i];cout << work() << endl;}return 0;
}

【蓝桥杯练习--递归】费解的开关相关推荐

  1. 蓝桥杯嵌入式G431学习之开关LED灯

    蓝桥杯嵌入式G431学习之开关LED灯 1.直接开关LED灯 在/* USER CODE BEGIN 0 / 在此写入代码 / USER CODE END 0 */ /*PD2为LED锁存器控制引脚* ...

  2. 蓝桥杯.振兴中华(递归)

    Question:  Result:  35 Solve:  递归,每一个点只能向下走或者向右走,应该不需要解释 Code: #include<iostream> using namesp ...

  3. 蓝桥杯 1004 [递归]母牛的故事

    有一头母牛,它每年年初生一头小母牛.每头小母牛从第四个年头开始,每年年初也生一头小母牛.请编程实现在第n年的时候,共有多少头母牛? 输入数据由多个测试实例组成,每个测试实例占一行,包括一个整数n(0& ...

  4. 蓝桥杯学习——递归问题(上楼梯)

    小白正在上楼梯,楼梯有n阶台阶,小白一次可以上1阶,2阶,3阶,实现一个方法,计算小白有多少种走完楼梯的方式. 思路: 假设楼梯为1阶,小白有1种方式走完楼梯 假设楼梯为2阶,小白有2钟方式走完楼梯 ...

  5. AcWing 蓝桥杯AB组辅导课 01、递归与递推

    文章目录 前言 一.递归 知识点 例题 题目1:AcWing 95.斐波那契数列[简单,递归写法] 题目2:AcWing 92.递归实现指数型枚举[简单] 题目3:AcWing 94.递归实现排列型枚 ...

  6. 蓝桥杯C++ AB组辅导课 第一讲 递归与递推 Acwing

    例题 AcWing 92. 递归实现指数型枚举 从 1∼n 这 n 个整数中随机选取任意多个,输出所有可能的选择方案. 输入格式 输入一个整数 n. 输出格式 每行输出一种方案. 同一行内的数必须升序 ...

  7. 蓝桥杯练习 小明上楼梯(递归设计)

    小白上楼梯(递归设计) 题目 思路 源代码 题目 小白正在上楼梯,楼梯有n阶台阶,小白一次可以上1阶,2阶或者3阶,实现一个方法,计算小白有多少种走完楼梯的方法. 思路 可以发现,这道题就跟求斐波那契 ...

  8. Java算法学习:蓝桥杯——地宫寻宝(DFS+动态规划—记忆型递归)

    Java算法学习:蓝桥杯--地宫寻宝(DFS✖记忆型递归) 题目: 标题:地宫取宝X 国王有一个地宫宝库.是 n x m 个格子的矩阵.每个格子放一件宝贝.每个宝贝贴着价值标签.地宫的入口在左上角,出 ...

  9. 蓝桥杯之未名湖边的烦恼-递归极简版(c++实现)

    上文链接:蓝桥杯之Remember the A La Mode-需要谨慎处理逻辑关系(c++实现) 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 每年冬天,北大未名湖上都是滑冰的好 ...

  10. 蓝桥杯python省赛冲刺篇2——常用算法的详细解析及对应蓝桥杯真题:打表模拟法、递推递归法、枚举法、贪心算法、差分与前缀和

    注意:加了题目链接 目录 注意:加了题目链接 一.打表模拟法 介绍 1. 算式问题 题目描述 解析与代码演示 2. 求值 题目描述 解析与代码演示 3. 既约分数 题目描述 解析与代码演示 4. 天干 ...

最新文章

  1. 恒压板框过滤实验数据处理_高考化学实验中:那些不常见的【特殊仪器】与装置,难得的资料...
  2. kvmweb管理工具_KVM web管理工具——WebVirtMgr(一)
  3. 创建维护计划失败_如何善于创建和维护大型系统
  4. linux查看vnc服务加密修复,VNC远程管理Linux服务器安全指导
  5. 机器学习什么显卡_为什么要学习机器人编程?
  6. mysql创建存储过程意义_浅谈一下mySql中创建存储过程
  7. 使用java9的uuid生成方式,让uuid生成速度提升一个档次
  8. 利用Zipkin对Spring Cloud应用进行服务追踪分析
  9. Linux 基本命令(六)--pwd 常用命令
  10. 【渝粤教育】国家开放大学2018年秋季 7160-22T卫生法学 参考试题
  11. 第三章 DirectX 图形绘制(上)
  12. 【无标题】How to Programe 2021 GMC Terrain Smart Key Programming by Autel IM508
  13. win10联想Y7000重启蓝牙消失报显卡错误代码43
  14. Latex 给参考文献添加doi号和超链接
  15. 服务器信号满格但网速很慢,信号满格网速太慢是什么原因,网速慢是什么原因-...
  16. MPC与LQR的详细对比分析
  17. 老板喜欢提拔什么样的员工
  18. Sublime Text 3 搭建 Golang 开发环境(记录我遇到的问题)
  19. 如何用纯 CSS 创作一个渐变色动画边框
  20. libxml2生成,解析,修改xml文件,以及使用实例

热门文章

  1. 上网行为安全之终端识别和管理技术
  2. 《精进:如何成为一个很厉害的人》 采铜
  3. 【数据结构】使用栈解决火车硬席(H)和软席(S)的调度问题
  4. 开源TMS团队协作web系统
  5. linux下view如何修改字符串,Linux下view命令的使用
  6. NLP自然语言处理系列-音乐推荐系统实战 -计算相似度得到推荐结果
  7. 利用Vue制作一个简单的走马灯
  8. RecycleView的 Scrapped or attached views may not be recycled错误原因研究
  9. IC设计之CDC(跨时钟域)问题
  10. jquery 校验中国身份证号码