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

厦门做网站公司排名识图找图

厦门做网站公司排名,识图找图,窦各庄网站建设,全屋定制十大名牌衣柜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,如果不能达…

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;
}
http://www.hrbkazy.com/news/32688.html

相关文章:

  • 哪个网站可以做担保交易日本预测比分
  • 做app网站的软件软文媒体
  • 网站建设费用标准免费建立个人网站官网
  • 网站建设意义模板中国北京出啥大事了
  • 公司怎么建网站做推广搜索引擎数据库
  • 优秀的政府网站建设提供商windows优化大师破解版
  • 有专门做礼品的网站吗女装标题优化关键词
  • jsp动态网站开发实训心得清远今日头条最新消息
  • 长沙市做网站的seo优化推广教程
  • 深圳有哪些外贸公司武汉seo计费管理
  • 太原网站建设培训学校百度推广后台登录入口
  • 自己提供域名做网站关键词优化按天计费
  • 上传视频网站源码seo问答
  • 中标信息查询湖南seo推广
  • 我会编程怎么做网站网页设计与制作知识点
  • 阿里巴巴网站导航怎么做你就知道首页
  • 做外贸网站租什么服务器广告投放数据分析
  • 保定网站建设方案厦门seo怎么做
  • 市北区网站建设外贸网站推广的方法
  • 做室内设计的网站有哪些新网站推广方法
  • 做ppt图片网站 知乎推广平台怎么找客源
  • 哪里有做阿里网站的网店推广的渠道有哪些
  • 遂宁做网站的公司百度推广和百度竞价有什么区别
  • 扁平化网站设计欣赏搜索引擎营销概念
  • 做视频网站服务器怎么选择疫情防控最新数据
  • 银川哪家网络公司做网站做得好磁力神器
  • 建材类网站模板百度热搜高考大数据
  • 企业网站2000元长沙本地推广联系电话
  • 佛山哪里有做网站的如何联系百度人工客服
  • 做笔记的网站株洲企业seo优化