如何实现ACwing飞行员兄弟
发表于:2024-10-11 作者:千家信息网编辑
千家信息网最后更新 2024年10月11日,本篇内容介绍了"如何实现ACwing飞行员兄弟"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!#inc
千家信息网最后更新 2024年10月11日如何实现ACwing飞行员兄弟
本篇内容介绍了"如何实现ACwing飞行员兄弟"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
#include#include #include #include #define x first#define y secondusing namespace std;typedef pair PII;using namespace std;const int N = 5;char g[N][N],backup[N][N];int get(int x,int y){ return x*4+y;}// '+'表示闭合状态;'-'表示打开状态void turn_one(int x,int y){ if(g[x][y]=='+') g[x][y]='-'; else g[x][y]='+';}void turn_all(int x,int y){ for (int i=0;i<4;i++){ turn_one(x,i); turn_one(i,y); } turn_one(x,y);}int main(){ //输入开始状态 for(int i=0;i<4;i++){ cin>>g[i]; } vector res; //枚举所有方案 for(int op=0;op<1<<16;op++){ vector temp; //备份 memcpy(backup,g,sizeof g); //进行操作 for(int i=0;i<4;i++) for(int j=0;j<4;j++) if(op>>get(i,j) & 1){ temp.push_back({i,j}); turn_all(i,j); } //判断是否全亮 bool hasclosed=false; for(int i=0;i<4;i++) for(int j=0;j<4;j++) if(g[i][j]=='+') hasclosed=true; if(hasclosed==false){ if(res.empty() || res.size() >temp.size()) res=temp; } //还原 memcpy(g,backup,sizeof g); } cout< "如何实现ACwing飞行员兄弟"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!
状态
兄弟
飞行员
飞行
内容
更多
知识
实用
学有所成
接下来
困境
备份
实际
情况
文章
方案
案例
编带
网站
行业
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
底层软件开发Linux招聘
手机网络安全防盗
网络安全重点知识
网络安全国外论坛
维修网络技术员招聘
可能由于服务器维护
中国网吧数据库
网络安全主管是哪个部门
八开的网络安全手抄报
云服务器存在哪些安全风险
如何定义30个数据库
维普数据库逻辑运算优先级
服务器的网管平台
合肥配件管理软件开发公司
访问mysql数据库
乡镇网络安全自查情况汇报
网络安全日常管理规范
oracle备份数据库
分布式物理服务器副本配置
河北荟链卓越网络技术有限公司
神悦网络技术有限公司
马云网络安全节目
填写服务器安全审计表
群晖更换硬盘转移数据库
一个服务器有多少台
中国联通服务器招标结果
网络技术行业属于什么纳税
gt赛车7 无法与服务器建立连接
学不懂计算机网络技术
数据库技术试题a卷专科