poj 3279(开关问题)(待完成)
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
#define mem(a,b) (memset(a,b,sizeof a))
const int maxn=+; int m,n;
int tile[maxn][maxn];
int f[maxn][maxn];
int res[maxn][maxn];
int times;
bool isWhite(int x,int y)
{
return (f[x][y]+f[x-][y]+f[x][y+]+f[x][y-]+tile[x][y])%;
}
void Solve()
{
times=-;
mem(res,);
for(int i=;i < (<<n);++i)
{
mem(f,);
int index=n;
int num=i;
/*
for(int j=1;j <= n;++j)
f[1][j]= (i>>(j-1)&1);
*/
do
{
f[][index--]=num%;
num >>= ;
}while(num != && index > );
for(int j=;j <= m;++j)
for(int k=;k <= n;++k)
if(isWhite(j-,k) != )
f[j][k]=; bool flag=false;
for(int k=;k <= n;++k)
if(isWhite(m,k) != )
flag=true;
if(!flag)
{
int cnt=;
for(int j=;j <= m;++j)
for(int k=;k <= n;++k)
cnt += f[j][k];
if(times == - || times > cnt)
{
times=cnt;
memcpy(res,f,sizeof f);
}
}
}
if(times == -)
printf("IMPOSSIBLE\n");
else
for(int i=;i <= m;++i)
for(int j=;j <= n;++j)
printf("%d%c",res[i][j],j == n ? '\n':' ');
}
int main()
{
scanf("%d%d",&m,&n);
for(int i=;i <= m;++i)
for(int j=;j <= n;++j)
scanf("%d",&tile[i][j]);
Solve();
}
poj 3279(开关问题)(待完成)的更多相关文章
- POJ.3279 Fliptile (搜索+二进制枚举+开关问题)
POJ.3279 Fliptile (搜索+二进制枚举+开关问题) 题意分析 题意大概就是给出一个map,由01组成,每次可以选取按其中某一个位置,按此位置之后,此位置及其直接相连(上下左右)的位置( ...
- 【枚举】POJ 3279
直达–>POJ 3279 Fliptile 题意:poj的奶牛又开始作孽了,这回他一跺脚就会让上下左右的砖块翻转(1->0 || 0->1),问你最少踩哪些砖块才能让初始的砖块全部变 ...
- POJ 3279(Fliptile)题解
以防万一,题目原文和链接均附在文末.那么先是题目分析: [一句话题意] 给定长宽的黑白棋棋盘摆满棋子,每次操作可以反转一个位置和其上下左右共五个位置的棋子的颜色,求要使用最少翻转次数将所有棋子反转为黑 ...
- POJ 3279 Fliptile(翻格子)
POJ 3279 Fliptile(翻格子) Time Limit: 2000MS Memory Limit: 65536K Description - 题目描述 Farmer John kno ...
- 状态压缩+枚举 POJ 3279 Fliptile
题目传送门 /* 题意:问最少翻转几次使得棋子都变白,输出翻转的位置 状态压缩+枚举:和之前UVA_11464差不多,枚举第一行,可以从上一行的状态知道当前是否必须翻转 */ #include < ...
- 【POJ 3279 Fliptile】开关问题,模拟
题目链接:http://poj.org/problem?id=3279 题意:给定一个n*m的坐标方格,每个位置为黑色或白色.现有如下翻转规则:每翻转一个位置的颜色,与其四连通的位置都会被翻转,但注意 ...
- Fliptile 开关问题 poj 3279
Fliptile Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 4031 Accepted: 1539 Descript ...
- POJ 3279 Fliptile ( 开关问题)
题目链接 Description Farmer John knows that an intellectually satisfied cow is a happy cow who will give ...
- Fliptile POJ - 3279 (开关问题)
Fliptile Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 16483 Accepted: 6017 Descrip ...
随机推荐
- Lunix文件的读写权限问题
今天把在windows平台build好的lunix执行文件复制到Lunix的虚拟机上,发现可执行文件不能执行了,后来才发现文件时有读写和可执行权限的,但是是可以更改的,右键属性,把可执行属性勾选上就可 ...
- AnalyticDB for MySQL 3.0 技术架构解析
企业数据需求不断变化,近年来变化趋势日益明显,从数据的3V特性看:体积,速度和变化:Big Data强调数据量,PB级以上,是静态数据.而Fast Data在数据量的基础上,意味着速度和和变化,意味着 ...
- python 类(class)
- material-ui里面的withStyles是什么?
export default withStyles(styles, { name: 'MuiAppBar' })(AppBar); //这里的作用是什么? withStyles 是一个 HOC 组件, ...
- 简单利用XSS获取Cookie信息实例演示
简单利用XSS获取Cookie信息实例演示 首先要找到一个有XXS的站,这里就不整什么大站了,谷歌一下inurl:'Product.asp?BigClassName',搜出来的命中率也比较高.随便 ...
- 2019-4-10-VisualStudio-2019-尝试使用-C#-8.0-新的方式
title author date CreateTime categories VisualStudio 2019 尝试使用 C# 8.0 新的方式 lindexi 2019-04-10 10:41: ...
- python 调用API时异常捕获的技巧
- Flask学习之十一 邮件支持
英文博客地址:blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-xi-email-support 中文翻译地址:http://www. ...
- 当pip安装因为网络超时而无法安装的时候慢
2.4 尝试pip --default-timeout=1000 install https://download.pytorch.org/whl/cu100/torch-1.1.0-cp36-cp ...
- spring配置文件各个属性详解
一.引用外部属性文件 <bean id="propertyConfigurer" class="org.springframework.beans.factory. ...