如何实现ACwing飞行员兄弟
发表于:2025-01-21 作者:千家信息网编辑
千家信息网最后更新 2025年01月21日,本篇内容介绍了"如何实现ACwing飞行员兄弟"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!#inc
千家信息网最后更新 2025年01月21日如何实现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安全错误
数据库的锁怎样保障安全
oracle数据库服务器
基岩服务器自定义地图
雁塔区网络安全员培训地址
数据库dt2
深圳维克拉网络技术
网络技术五行属性
美信网络技术有限公司 概况
软件开发模型可转换模型
数据库接边检查方案
以下网络安全的相关
ic封测软件开发薪资
数据库编号要改成自动编号吗
参考文献类型数据库
软件开发一元夺宝
软件开发中 算法的作用
聚服网络技术科技有限公司
ddos网络安全方案
网络安全颁奖名单
58同城数据库设计
dryad 数据库
叔叔阿姨网络安全宣传
关系数据库 石树刚
开源软件开发免费咨询
网络安全最著名的人物
没有公网ip服务器如何搭建网站
连不上网找不到服务器地址
幼儿园防范网络安全事故措施
数据库技术计算机三级真题
暨南大学网络安全考试
审计网络安全应急演练