116. 飞行员兄弟(递推+暴力)太难了不要求

输入样例:
-+--
----
----
-+--
输出样例:
6
1 1
1 3
1 4
4 1
4 3
4 4

代码:

#include<algorithm>
#include<iostream>
#include<cstring>
#include<queue>
#include<cmath>
#define x first
#define y second
using namespace std;
typedef pair<int,int> PII;

const int N = 5;
char g[N][N],backup[N][N];

int get(int x,int y){//计算第ij格子上的编号是多少 
	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<PII> res;
	for(int op = 0; op < 1 << 16;op ++)//,枚举所有方案
	{
		vector<PII> temp;
		memcpy(backup,g,sizeof g);//备份 
		//进行操作 
		for(int i=0;i<4;i++){
			for(int j=0;j<4;j++){
				//如果当前位置是1
				if(op >> get(i,j) & 1){
					temp.push_back({i,j});
					turn_all(i,j);
				}	
			} 
		} 
		//判断开关是否都为开
		bool has_closed = false;
		for(int i=0;i<4;i++){
			for(int j=0;j<4;j++){
				if(g[i][j] == '+')
					has_closed = true;
			}
		} 
		
		if(has_closed == false){
			//如果目前还没有合法方案
			if(res.empty() || res.size() > temp.size()) res = temp; 
		}
		memcpy(g,backup,sizeof g);//还原 
	}
	
	cout<<res.size()<<endl;
	for(auto op : res){
		cout<<op.x + 1 <<" "<<op.y + 1 <<endl;
	}
	return 0;	
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/507437.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

往word表格插入图片,表格大小如何不变形?

在word中进行大量图片排版时&#xff0c;往往会用到表格。然而在往word表格插入图片的过程中&#xff0c;表格往往会随图片大小自适应变化&#xff0c;如何保证图片自适应表格大小&#xff08;即图片按照所给定的表格大小自动缩放&#xff09;&#xff0c;解决方法如下&#xf…

小红书运营快捷回复工具

小红书作为一个热门的社交电商平台&#xff0c;吸引了众多品牌和个人用户进行运营和互动。而很多做小红书运营的姐妹&#xff0c;经常会有回评论懒得打字的困扰&#xff0c;为了提高回复评论和私信的效率&#xff0c;本文给大家推荐一款快捷回复工具&#xff0c;手机电脑都能用…

【Python使用】嘿马头条完整开发md笔记第3篇:数据库,1 新增【附代码文档】

嘿马头条项目从到完整开发笔记总结完整教程&#xff08;附代码资料&#xff09;主要内容讲述&#xff1a;课程简介&#xff0c;ToutiaoWeb虚拟机使用说明1 产品介绍,2 原型图与UI图,3 技术架构,4 开发,1 需求,2 注意事项。数据库&#xff0c;理解ORM1 简介,2 安装,3 数据库连接…

电商新手选品易犯6大通病,85%的人都踩过雷!

电商选品是一个复杂而关键的过程&#xff0c;需要综合考虑多种因素&#xff0c;尤其对于刚刚涉猎电商行业的新手来更有难度&#xff0c;许多电商新手在选品过程中都会犯一些通病&#xff0c;以下是一些常见的电商选品通病以及调整建议&#xff0c;希望对大家有所帮助&#xff1…

《第一行代码 Android 第三版》 天气预报APP SunnyWeather——交作业

跟着书本手敲一遍kotlin项目SunnyWeather,MVVM架构&#xff1a; 没啥难度&#xff0c;就是熟悉kotlin... github链接&#xff1a;SunnyWeather/app at master xda1212/SunnyWeather GitHub

Vivado Lab Edition

Vivado Lab Edition 是完整版 Vivado Design Suite 的独立安装版本 &#xff0c; 包含在生成比特流后对赛灵思 FPGA 进行编程和 调试所需的所有功能。通常适用于在如下实验室环境内进行编程和调试&#xff1a; 实验室环境中的机器所含磁盘空间、内存和连 接资源较少。Vivad…

【环境搭建】(四)ubuntu22.04系统安装Opencv4.8.0+Opencv-contrib4.8.0

一个愿意伫立在巨人肩膀上的农民...... 一、安装下载所需工具 1.打开终端&#xff0c;输入以下命令来更新软件源&#xff1a; sudo apt-get update 2.安装wget&#xff1a; sudo apt-get install wget 3.下载opencv和opencv-contrib包&#xff1a; wget -O opencv-4.8.0.…

备忘录软件哪款可以加密?备忘录app怎么加密?

在快节奏的现代生活中&#xff0c;备忘录软件已成为我们不可或缺的助手。它不仅能方便我们随时记录任务事项&#xff0c;捕捉生活中的灵感&#xff0c;还便于我们随时修改和查看记录内容&#xff0c;实用性极高。然而&#xff0c;随着记录内容的增多&#xff0c;数据安全性问题…

【自动化测试】 环境部署和元素定位

写在前面 勤奋跟吃苦不一样&#xff0c;假如你对工作&#xff0c;生活不满意。就要跳出圈子&#xff0c;接触其它人或事物&#xff0c;提升自己。从而换个工作&#xff0c;或者换了心态看待问题。而不是&#xff0c;吃苦的加班逼着自己去内卷&#xff0c;卷来卷去觉得吃苦受累&…

Leetcode 309. 买卖股票的最佳时机含冷冻期

心路历程&#xff1a; 这道题的建模和股票问题一样&#xff0c;只不过需要在状态上增加一个处于冻结期&#xff1b; 状态&#xff1a;1第i天&#xff1b;2第i天持有股票的状态&#xff08;持有&#xff0c;不持有被冻结&#xff0c;不持有未被冻结&#xff09; 动作&#xff1…

基于SpringBoot餐饮美食分享平台的设计与实现+毕业论文+毕业答辩PPT+搭建资料

系列文章目录 本系统的用户可分为用户和管理员二个用户角色组成。管理员可以管理系统内所有功能&#xff0c;主要有系统首页、信息展示、用户信息管理、菜谱信息管理、笔记信息管理、美食信息管理、修改密码、退出登录管理、系统管理等功能&#xff1b;用户登录系统可以对个人…

实体机双系统安装

实体机双系统安装 第一步&#xff1a;下载openKylin镜像 前往官网下载x86_64的镜像&#xff08;https://www.openkylin.top/downloads/628-cn.html&#xff09; tips&#xff1a;下载完镜像文件后&#xff0c;请先检查文件MD5值是否和官网上的一致&#xff0c;如果不一致请重…

如何给图片添加水印?

如何给图片添加水印&#xff1f;在现代职场中&#xff0c;图片的使用已经成为了日常工作的一部分&#xff0c;而给图片添加水印也逐渐成为了一种常见的需求。无论是在设计、广告、营销还是其他领域&#xff0c;给工作中的图片加水印都有其重要性和实用性。工作中给图片加水印的…

系统分析师-软件的知识产权保护与标准化

文章目录 前言一、知识产权保护范围与对象二、保护期限三、知识产权人确定四、侵权判定五、标准化标准的分类标准的编号 前言 知识产权也称为“智力成果权”、“智慧财产权”&#xff0c;它是人类通过创造性的智力劳动而获得的一项权利。根据我国民法通则的规定&#xff0c;知识…

兑换码生成算法

兑换码生成算法 兑换码生成算法1.兑换码的需求2.算法分析2.重兑校验算法3.防刷校验算法 3.算法实现 兑换码生成算法 兑换码生成通常涉及在特定场景下为用户提供特定产品或服务的权益或礼品&#xff0c;典型的应用场景包括优惠券、礼品卡、会员权益等。 1.兑换码的需求 要求如…

IPv4地址

IP v4 由32位二进制构成、可以用点分十进制表示。 例如&#xff1a;192.168.1.1 11000000101010000000000100000001 由网络位和主机位组成。为了区分网络位和主机位&#xff0c;需要用子网掩码&#xff0c;子网掩码也是由32位二进制构成&#xff0c;连续的1对应网络位&#…

黑马鸿蒙笔记 4

目录 17.ArkUI-状态管理-Observed和ObjectLink 18.ArkUI-页面路由 19.ArkUI-属性动画和显式动画 20.ArkUI-组件转场动画 17.ArkUI-状态管理-Observed和ObjectLink 这个task[],找到它的定义 在数据类型上加Observed 要把这一段单独抽取出来&#xff0c;才可以加ObjectLink&a…

【数据结构】——二叉树堆的实现

大佬们点点关注&#xff0c;点点赞&#xff1f;&#xff01; 前言 在上篇博客中我们已经介绍了树和二叉树的相关概念&#xff0c;相信大家都已经清楚了树和二叉树的基本思想&#xff0c;下面我们就来着重看看二叉树堆的实现。 在看堆的实现&#xff0c;我们先看看二叉树的顺…

在视频号上开店怎么样?聊下我做视频号店铺后的感受

我是王路飞。 说到创业找项目&#xff0c;电商无疑是现在最受欢迎的行业了。 毕竟现在的直播带货有多火相信大家也都明白&#xff0c;但是直播带货的门槛要远比开一个店铺的门槛高很多。 所以&#xff0c;很多普通人想分到直播带货这波红利的&#xff0c;都选择了开一个店铺…

什么是智慧公厕?智慧城市下的智慧公厕有什么功能和特点?

随着科技的不断进步和城市化的加快发展&#xff0c;智慧城市已经成为我们生活中的一部分。而在智慧城市的建设中&#xff0c;智慧公厕作为城市基础设施的重要组成部分发挥着重要的作用。那么什么是智慧公厕&#xff1f;智慧公厕是针对公共厕所的日常使用、运行、管理、运营等过…