当前位置: 首页 > news >正文

3.26日总结

1.Fliptile

Sample Input

4 4
1 0 0 1
0 1 1 0
0 1 1 0
1 0 0 1

Sample Output

0 0 0 0
1 0 0 1
1 0 0 1
0 0 0 0

题意:在题目输入的矩阵,在这个矩阵的基础上,通过最少基础反转,可以将矩阵元素全部变为0,如果不能达到目标则输出"IMPOSSIBLE",达到目标则输出一个操作最少次数的矩阵。

思路:由于在同一个位置翻转两次的话,相当于没有翻转,所以每一个位置有且仅能最多翻转一次,想要将矩阵某个位置的1变为0,只能通过操作下一行同一列的位置,可以对第一行的元素按照要求翻转多次,次数为2^m(m为矩阵的列数),直到所有的情况都尝试过。

下面是AC代码:

#include<iostream>
#include<queue>
#include<cstring>
#include<string>
#include<map>
#include<set>
#include<vector>
using namespace std;int mp[20][20];
int ans[20][20];
int temp_ans[20][20];
int temp[20][20];
int n,m;
int mi=123456789;void fi(int x,int y)//翻转本身和相邻位置 
{temp[x][y]^=1;temp[x-1][y]^=1;temp[x+1][y]^=1;temp[x][y+1]^=1;temp[x][y-1]^=1;
}bool isok()
{for(int i=0;i<m;i++){if(temp[n-1][i]) return 0;}	return 1;//判断翻转是否合理 
}void solve()
{cin>>n>>m;for(int i=0;i<n;i++){for(int j=0;j<m;j++){cin>>mp[i][j];}}int k=(1<<m);int count=0;while(k--){memset(temp_ans,0,sizeof(temp_ans));memcpy(temp,mp,sizeof(mp));int cnt=0;int dy=0;while((1<<dy)<=count){if((1<<dy)&count){cnt++; temp_ans[0][dy]=1;//多次不同情况翻转第一行 fi(0,dy);}dy++;}count++;for(int i=0;i<n-1;i++){for(int j=0;j<m;j++){if(temp[i][j]){temp_ans[i+1][j]=1;//记录翻转位置 fi(i+1,j);//翻转下一个位置 cnt++;//记录翻转次数 }}}if(cnt<mi&&isok())//判断 {mi=cnt;//更新最优解 memcpy(ans,temp_ans,sizeof(temp_ans));}}if(mi>1234567)//代表没找到合理解 {cout<<"IMPOSSIBLE\n";}else//输出优解答案 {for(int i=0;i<n;i++){for(int j=0;j<m;j++){cout<<ans[i][j]<<" ";}cout<<"\n";}}
}
int main()
{int t;t=1;while(t--){solve();}return 0;
}

相关文章:

3.26日总结

1.Fliptile Sample Input 4 4 1 0 0 1 0 1 1 0 0 1 1 0 1 0 0 1 Sample Output 0 0 0 0 1 0 0 1 1 0 0 1 0 0 0 0 题意&#xff1a;在题目输入的矩阵&#xff0c;在这个矩阵的基础上&#xff0c;通过最少基础反转&#xff0c;可以将矩阵元素全部变为0&#xff0c;如果不能达…...

应用日志集成到ElasticSearch

1、阿里云sls平台集成日志 阿里sls集成日志步骤 2、filebeat 收集到指定es 安装docker容器 Docker安装 拉取镜像&#xff1a; docker pull elastic/filebeat:7.5.1启动&#xff1a; docker run -d --namefilebeat elastic/filebeat:7.5.1拷贝容器中的数据文件到宿主机&a…...

MySQL多表联查函数

1 多表联查 1.1 表之间的关系 表和表的关系有: 一对一 老公 --> 老婆 , 人 ---> 身份证/户口本 一对多 皇帝 --> 妻妾 , 人 ---> 房/车 多对多 订单 --> 商品 1.2 合并结果集 合并结果集,是将多表查询的结果纵向合并 语法: select field1,field2 from t1 un…...

JAVAEE—实现多线程版本的定时器

文章目录 什么是定时器定时器的概念定时器的简单应用和介绍代码示例 定时器的代码解析定时器在执行任务的时候是创建了一个线程去执行吗&#xff1f;为什么叫做扫描线程呢&#xff1f;执行完任务之后代码就暂停了不自动结束吗&#xff1f; 手撕定时器demo相对时间与绝对时间Myt…...

KY228 找位置(用Java实现)

描述 对给定的一个字符串&#xff0c;找出有重复的字符&#xff0c;并给出其位置&#xff0c;如&#xff1a;abcaaAB12ab12 输出&#xff1a;a&#xff0c;1&#xff1b;a&#xff0c;4&#xff1b;a&#xff0c;5&#xff1b;a&#xff0c;10&#xff0c;b&#xff0c;2&…...

物联网边缘网关有哪些优势?-天拓四方

随着物联网技术的快速发展&#xff0c;越来越多的设备接入网络&#xff0c;数据交互日益频繁&#xff0c;对数据处理和传输的要求也越来越高。在这样的背景下&#xff0c;物联网边缘网关应运而生&#xff0c;以其低延迟、减少带宽消耗、提高数据质量和安全性等优势&#xff0c;…...

【C++】6-2 交换函数2 分数 10

6-2 交换函数2 分数 10 全屏浏览 切换布局 作者 刘利 单位 惠州学院 根据题目需求&#xff0c;编写一个交换函数Swap。 裁判测试程序样例&#xff1a; #include <iostream> using namespace std; class pen{private:string brand;string color;double price;publi…...

kafka 01

01....

Linux离线安装Docker-Oracle_11g

拉取oracle11g镜像 docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g创建11g容器 docker run -d -p 1521:1521 --name oracle11g registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g查看容器是否创建成功 docker ps -a导出oracle容器&#xff0c;查看…...

web前端3.19

一、属性选择器与伪类选择器 属性选择器&#xff1a;匹配那些具有特定属性或属性值的元素 <style>/* */input[type"password"] {background-color: aqua;}/* 具有某个属性的指定标签 */div[title] {background-color: pink;}/* 属性的值中包含某个值 */inpu…...

Rust 函数体内能定义数据类型或者做其他什么事情吗?

一、可以在函数体内定义数据类型吗&#xff1f; 在 Rust 中&#xff0c;你不能直接在函数体内定义新的数据类型&#xff08;如结构体或枚举&#xff09;。数据类型必须在模块或块的作用域内定义&#xff0c;这通常是在函数外部。然而&#xff0c;你可以在函数体内定义新的类型…...

flask_restful结合蓝图使用

在蓝图中&#xff0c;如果使用 Flask_RESTful &#xff0c; 创建 Api 对象的时候&#xff0c;传入蓝图对象即可&#xff0c;不再是传入 app 对象 /user/__init__.py from flask.blueprints import Blueprintuser_bp Blueprint(user,__name__)from user import views /user…...

干货分享之反射笔记

入门级笔记-反射 一、利用反射破泛型集合二、Student类三、获取构造器的演示和使用1.getConstructors只能获取当前运行时类的被public修饰的构造器2.getDeclaredConstructors:获取运行时类的全部修饰符的构造器3.获取指定的构造器3.1得到空构造器3.2得到两个参数的有参构造器&a…...

使用小皮【phpstudy】运行Vue+MySql项目

现在的情况是我扒到了一个开源的项目&#xff0c;现在想要实现一下前端对应的功能&#xff0c;后端是完备的&#xff0c;但是需要调用数据库将数据跑起来&#xff0c;这里可以使用到MySql数据库&#xff0c;这里我还发现了一个比较好用的软件小皮【phpStudy】 官网 一 安装软件…...

局部静态变量实现单例模式,线程安全(推荐使用)c++11

class Singleton{ public:~Singleton();static Singleton& getInstance(){static Singleton instance;return instance; } private:Singleton(); };原因是C 11标准中新增了一个特性叫Magic Static&#xff1a;如果变量在初始化时&#xff0c;并发线程同时进入到static声明语…...

Machine Learning机器学习之决策树算法 Decision Tree(附Python代码)

目录 前言&#xff1a; 一、决策树思想 二、经典决策树算法 三、算法应用案列 基于Python 和 Scikit-learn 库实现决策树算法的简单示例代码&#xff0c;用于解决分类问题&#xff1a; ​四、总结 算法 决策树算法应用&#xff1a; 决策树算法优缺点&#xff1a; 博主介绍&…...

Mybatis-Plus——09,代码自动生成器

代码自动生成器 一、先创建一个表二、创建一个类&#xff0c;配置代码生成器三、运行方法四、运行主方法&#xff0c;报错了。 一、先创建一个表 二、创建一个类&#xff0c;配置代码生成器 package com.gang;import com.baomidou.mybatisplus.annotation.DbType; import com.…...

Temu api接口 获取商品详情 数据采集

iDataRiver平台 https://www.idatariver.com/zh-cn/ 提供开箱即用的Temu电商数据采集API&#xff0c;供用户按需调用。 接口使用详情请参考Temu接口文档 接口列表 1. 获取商品详情 参数类型是否必填默认值示例值描述apikeystring是idr_***从控制台里复制apikeycountrystrin…...

安捷伦Agilent N1912A功率计

181/2461/8938产品概述&#xff1a; Keysight(原Agilent) N1912A P系列双通道功率计可提供峰值、峰均比、平均功率、上升时间、下降时间、最大功率值、最小功率值以及宽带信号的统计数据。 Keysight(原Agilent) N1912A P系列双通道功率计, 可提供峰值、峰均比、平均功率、上升…...

ES 进阶知识

索引Index 一个索引就是一个拥有几分相似特征的文档的集合。比如说&#xff0c;你可以有一个客户数据的索引&#xff0c;另一个产品目录的索引&#xff0c;还有一个订单数据的索引。一个索引由一个名字来标识&#xff08;必须全部是小写字母&#xff09;&#xff0c;并且当我们…...

网络六边形受到攻击

大家读完觉得有帮助记得关注和点赞&#xff01;&#xff01;&#xff01; 抽象 现代智能交通系统 &#xff08;ITS&#xff09; 的一个关键要求是能够以安全、可靠和匿名的方式从互联车辆和移动设备收集地理参考数据。Nexagon 协议建立在 IETF 定位器/ID 分离协议 &#xff08;…...

8k长序列建模,蛋白质语言模型Prot42仅利用目标蛋白序列即可生成高亲和力结合剂

蛋白质结合剂&#xff08;如抗体、抑制肽&#xff09;在疾病诊断、成像分析及靶向药物递送等关键场景中发挥着不可替代的作用。传统上&#xff0c;高特异性蛋白质结合剂的开发高度依赖噬菌体展示、定向进化等实验技术&#xff0c;但这类方法普遍面临资源消耗巨大、研发周期冗长…...

CMake基础:构建流程详解

目录 1.CMake构建过程的基本流程 2.CMake构建的具体步骤 2.1.创建构建目录 2.2.使用 CMake 生成构建文件 2.3.编译和构建 2.4.清理构建文件 2.5.重新配置和构建 3.跨平台构建示例 4.工具链与交叉编译 5.CMake构建后的项目结构解析 5.1.CMake构建后的目录结构 5.2.构…...

家政维修平台实战20:权限设计

目录 1 获取工人信息2 搭建工人入口3 权限判断总结 目前我们已经搭建好了基础的用户体系&#xff0c;主要是分成几个表&#xff0c;用户表我们是记录用户的基础信息&#xff0c;包括手机、昵称、头像。而工人和员工各有各的表。那么就有一个问题&#xff0c;不同的角色&#xf…...

多模态商品数据接口:融合图像、语音与文字的下一代商品详情体验

一、多模态商品数据接口的技术架构 &#xff08;一&#xff09;多模态数据融合引擎 跨模态语义对齐 通过Transformer架构实现图像、语音、文字的语义关联。例如&#xff0c;当用户上传一张“蓝色连衣裙”的图片时&#xff0c;接口可自动提取图像中的颜色&#xff08;RGB值&…...

Qwen3-Embedding-0.6B深度解析:多语言语义检索的轻量级利器

第一章 引言&#xff1a;语义表示的新时代挑战与Qwen3的破局之路 1.1 文本嵌入的核心价值与技术演进 在人工智能领域&#xff0c;文本嵌入技术如同连接自然语言与机器理解的“神经突触”——它将人类语言转化为计算机可计算的语义向量&#xff0c;支撑着搜索引擎、推荐系统、…...

Element Plus 表单(el-form)中关于正整数输入的校验规则

目录 1 单个正整数输入1.1 模板1.2 校验规则 2 两个正整数输入&#xff08;联动&#xff09;2.1 模板2.2 校验规则2.3 CSS 1 单个正整数输入 1.1 模板 <el-formref"formRef":model"formData":rules"formRules"label-width"150px"…...

零基础在实践中学习网络安全-皮卡丘靶场(第九期-Unsafe Fileupload模块)(yakit方式)

本期内容并不是很难&#xff0c;相信大家会学的很愉快&#xff0c;当然对于有后端基础的朋友来说&#xff0c;本期内容更加容易了解&#xff0c;当然没有基础的也别担心&#xff0c;本期内容会详细解释有关内容 本期用到的软件&#xff1a;yakit&#xff08;因为经过之前好多期…...

华硕a豆14 Air香氛版,美学与科技的馨香融合

在快节奏的现代生活中&#xff0c;我们渴望一个能激发创想、愉悦感官的工作与生活伙伴&#xff0c;它不仅是冰冷的科技工具&#xff0c;更能触动我们内心深处的细腻情感。正是在这样的期许下&#xff0c;华硕a豆14 Air香氛版翩然而至&#xff0c;它以一种前所未有的方式&#x…...

高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数

高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数 在软件开发中,单例模式(Singleton Pattern)是一种常见的设计模式,确保一个类仅有一个实例,并提供一个全局访问点。在多线程环境下,实现单例模式时需要注意线程安全问题,以防止多个线程同时创建实例,导致…...