【蓝桥杯练习--递归】费解的开关
费解的开关
按法与顺序无关
每个各自最多按一次
枚举第一行的操作
每一行开关的操作由上一行灯的亮灭唯一确定
枚举第一行的状态
利用位运算从第二行开始由上一行灯的亮灭决定本行的开关操作,当要执行第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;
}
【蓝桥杯练习--递归】费解的开关相关推荐
- 蓝桥杯嵌入式G431学习之开关LED灯
蓝桥杯嵌入式G431学习之开关LED灯 1.直接开关LED灯 在/* USER CODE BEGIN 0 / 在此写入代码 / USER CODE END 0 */ /*PD2为LED锁存器控制引脚* ...
- 蓝桥杯.振兴中华(递归)
Question: Result: 35 Solve: 递归,每一个点只能向下走或者向右走,应该不需要解释 Code: #include<iostream> using namesp ...
- 蓝桥杯 1004 [递归]母牛的故事
有一头母牛,它每年年初生一头小母牛.每头小母牛从第四个年头开始,每年年初也生一头小母牛.请编程实现在第n年的时候,共有多少头母牛? 输入数据由多个测试实例组成,每个测试实例占一行,包括一个整数n(0& ...
- 蓝桥杯学习——递归问题(上楼梯)
小白正在上楼梯,楼梯有n阶台阶,小白一次可以上1阶,2阶,3阶,实现一个方法,计算小白有多少种走完楼梯的方式. 思路: 假设楼梯为1阶,小白有1种方式走完楼梯 假设楼梯为2阶,小白有2钟方式走完楼梯 ...
- AcWing 蓝桥杯AB组辅导课 01、递归与递推
文章目录 前言 一.递归 知识点 例题 题目1:AcWing 95.斐波那契数列[简单,递归写法] 题目2:AcWing 92.递归实现指数型枚举[简单] 题目3:AcWing 94.递归实现排列型枚 ...
- 蓝桥杯C++ AB组辅导课 第一讲 递归与递推 Acwing
例题 AcWing 92. 递归实现指数型枚举 从 1∼n 这 n 个整数中随机选取任意多个,输出所有可能的选择方案. 输入格式 输入一个整数 n. 输出格式 每行输出一种方案. 同一行内的数必须升序 ...
- 蓝桥杯练习 小明上楼梯(递归设计)
小白上楼梯(递归设计) 题目 思路 源代码 题目 小白正在上楼梯,楼梯有n阶台阶,小白一次可以上1阶,2阶或者3阶,实现一个方法,计算小白有多少种走完楼梯的方法. 思路 可以发现,这道题就跟求斐波那契 ...
- Java算法学习:蓝桥杯——地宫寻宝(DFS+动态规划—记忆型递归)
Java算法学习:蓝桥杯--地宫寻宝(DFS✖记忆型递归) 题目: 标题:地宫取宝X 国王有一个地宫宝库.是 n x m 个格子的矩阵.每个格子放一件宝贝.每个宝贝贴着价值标签.地宫的入口在左上角,出 ...
- 蓝桥杯之未名湖边的烦恼-递归极简版(c++实现)
上文链接:蓝桥杯之Remember the A La Mode-需要谨慎处理逻辑关系(c++实现) 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 每年冬天,北大未名湖上都是滑冰的好 ...
- 蓝桥杯python省赛冲刺篇2——常用算法的详细解析及对应蓝桥杯真题:打表模拟法、递推递归法、枚举法、贪心算法、差分与前缀和
注意:加了题目链接 目录 注意:加了题目链接 一.打表模拟法 介绍 1. 算式问题 题目描述 解析与代码演示 2. 求值 题目描述 解析与代码演示 3. 既约分数 题目描述 解析与代码演示 4. 天干 ...
最新文章
- 恒压板框过滤实验数据处理_高考化学实验中:那些不常见的【特殊仪器】与装置,难得的资料...
- kvmweb管理工具_KVM web管理工具——WebVirtMgr(一)
- 创建维护计划失败_如何善于创建和维护大型系统
- linux查看vnc服务加密修复,VNC远程管理Linux服务器安全指导
- 机器学习什么显卡_为什么要学习机器人编程?
- mysql创建存储过程意义_浅谈一下mySql中创建存储过程
- 使用java9的uuid生成方式,让uuid生成速度提升一个档次
- 利用Zipkin对Spring Cloud应用进行服务追踪分析
- Linux 基本命令(六)--pwd 常用命令
- 【渝粤教育】国家开放大学2018年秋季 7160-22T卫生法学 参考试题
- 第三章 DirectX 图形绘制(上)
- 【无标题】How to Programe 2021 GMC Terrain Smart Key Programming by Autel IM508
- win10联想Y7000重启蓝牙消失报显卡错误代码43
- Latex 给参考文献添加doi号和超链接
- 服务器信号满格但网速很慢,信号满格网速太慢是什么原因,网速慢是什么原因-...
- MPC与LQR的详细对比分析
- 老板喜欢提拔什么样的员工
- Sublime Text 3 搭建 Golang 开发环境(记录我遇到的问题)
- 如何用纯 CSS 创作一个渐变色动画边框
- libxml2生成,解析,修改xml文件,以及使用实例