#include<stdio.h>
#include<stdlib.h>
#include<string.h> const int maxn=;
const int inf=;
typedef long long ll;
int m,n;
int opt[maxn][maxn];
int a[maxn][maxn];
int tmp[maxn][maxn];
int dx[]= {,,,-,};
int dy[]= {-,,,,};
int getcolor(int x,int y)
{
int ans=a[x][y];
for(int i=; i<; i++)
{
int xx=x+dx[i];
int yy=y+dy[i];
if(xx>=&&xx<m&&yy>=&&yy<n)
ans+=tmp[xx][yy];
}
return ans%;
} int cal()
{
int i,j;
for(i=; i<m; i++)
for(j=; j<n; j++)
if(getcolor(i-,j))
tmp[i][j]=; for(i=;i<n;i++)
if(getcolor(m-,i))return -; int ans=;
for(i=;i<m;i++)
for(j=;j<n;j++)
ans+=tmp[i][j];
return ans;
} void solve()
{
int rec=-;
int i,j;
for(i=;i<<<n;i++)
{
memset(tmp,,sizeof(tmp));
for(j=;j<n;j++)
{
tmp[][n-j-]=i>>j&;
}
int num=cal();
if(num>=&&(rec>num||rec<))
{
rec=num;
memcpy(opt,tmp,sizeof(tmp));
}
}
if(rec<)
printf("IMPOSSIBLE\n");
else
{
for(i=;i<m;i++)
{
for(j=;j<n;j++)
printf("%d%c",opt[i][j],j==n?'\n':' ');
printf("\n");
} }
} int main()
{
int i,j,t,k;
while(~scanf("%d%d",&m,&n))
{
for(i=; i<m; i++)
for(j=; j<n; j++)
scanf("%c",&a[i][j]);
solve();
}
return ;
}

【搜索】Fliptile的更多相关文章

  1. kuangbin专题 专题一 简单搜索 Fliptile POJ - 3279

    题目链接:https://vjudge.net/problem/POJ-3279 题意:格子有两面,1表示黑色格子,0表示白色格子,奶牛每次可以踩一个格子,踩到的格子和它周围的上下左右格子都会翻面,也 ...

  2. POJ.3279 Fliptile (搜索+二进制枚举+开关问题)

    POJ.3279 Fliptile (搜索+二进制枚举+开关问题) 题意分析 题意大概就是给出一个map,由01组成,每次可以选取按其中某一个位置,按此位置之后,此位置及其直接相连(上下左右)的位置( ...

  3. poj 3279 Fliptile (简单搜索)

    Fliptile Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 16558   Accepted: 6056 Descrip ...

  4. POJ3279 Fliptile 枚举+简单搜索

    题意:一个矩阵,每个点1或0,然后每次翻一个点,它周围上下左右(包括自己)1->0,0->1,问最少翻几次可以矩阵全是0,忽略题目说的字典序 分析:枚举第一行所有的情况,然后下面几行也随之 ...

  5. poj 3279 Fliptile(二进制搜索)

    Farmer John knows that an intellectually satisfied cow is a happy cow who will give more milk. He ha ...

  6. POJ 3279 Fliptile (二进制+搜索)

    [题目链接]click here~~ [题目大意]: 农夫约翰知道聪明的牛产奶多. 于是为了提高牛的智商他准备了例如以下游戏. 有一个M×N 的格子,每一个格子能够翻转正反面,它们一面是黑色,还有一面 ...

  7. 【BZOJ 1647】[Usaco2007 Open]Fliptile 翻格子游戏 模拟、搜索

    第一步我们发现对于每一个格子,我们只有翻和不翻两种状态,我们发现一旦确定了第一行操作,那么第二行的操作也就随之确定了,因为第一行操作之后我们要想得到答案就得把第一行全部为0,那么第二行的每一个格子的操 ...

  8. [kuangbin带你飞]专题一 简单搜索 - D - Fliptile

    #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> us ...

  9. POJ 3279(Fliptile)题解

    以防万一,题目原文和链接均附在文末.那么先是题目分析: [一句话题意] 给定长宽的黑白棋棋盘摆满棋子,每次操作可以反转一个位置和其上下左右共五个位置的棋子的颜色,求要使用最少翻转次数将所有棋子反转为黑 ...

随机推荐

  1. mybatis forEach使用

    1.集合的使用 <select id="getCitysByKeys" resultMap="city" parameterType="Arra ...

  2. Android 数据库框架总结(转)

    转自 http://blog.csdn.net/da_caoyuan/article/details/61414626 一:OrmLite 简述: 优点: 1.轻量级:2.使用简单,易上手:3.封装完 ...

  3. 【Nodejs】Expressのファイルアップロード(FileUpload)のMulterについて

    https://github.com/expressjs/multer/blob/master/doc/README-zh-cn.md Multer 是一个 node.js 中间件,用于处理 mult ...

  4. leetcode 链表类型题总结

    链表测试框架示例: // leetcodeList.cpp : 定义控制台应用程序的入口点.vs2013 测试通过 // #include "stdafx.h" #include ...

  5. zabbix_server.conf 详解

    # This is a configuration file for Zabbix server daemon # To get more information about Zabbix, visi ...

  6. Ubuntu下ssh的安装

    1.安装 Ubuntu缺省安装了openssh-client,,如果没有安装,可用apt-get安装上即可. 安装ssh-server sudo apt-get install openssh-ser ...

  7. ubuntu系列-很好用的截图工具shutter

    直接在ubuntu软件市场中搜索“shutter”下载即可

  8. Mapped Statements collection already contains value for*

    检查了一下,没有重复的,参数也都正确,把报错的地方注释掉继续报下一个方法错误.重启也无效 最后发现,最后一个方法的返回值类型resultType="java.util.Map"写成 ...

  9. 【分布式架构】“spring cloud”与“dubbo”微服务的对比

      秉承站在巨人的肩膀上,同时我也不想重复制造轮子,我发现了一系列关于“分布式架构”方面,我需要,同时能够解决我的一些疑惑.问题的博客,转载过来,原文链接: http://blog.csdn.net/ ...

  10. C#字符串长度判断

    string aaa = "你好123"; Label1.Text = aaa.Length.ToString();  //结果5 Label2.Text = System.Tex ...