AcWing

$Sol$

假设改变$[x1,y1]$和$[x2,y2]$的状态就可以达到目的.注意到先改变谁对结果是没有影响的!!

所以就可以直接枚举改变状态的结点而不需要注意顺序.

$4*4$的矩阵,看成一个十六位的二进制数,枚举这个二进制数就是枚举方案了.

$over!$

$Code$

#include<bits/stdc++.h>
#define il inline
#define Rg register
#define go(i,a,b) for(Rg int i=a;i<=b;++i)
#define yes(i,a,b) for(Rg int i=a;i>=b;--i)
#define mem(a,b) memset(a,b,sizeof(a))
#define ll long long
#define db double
using namespace std;
il int read()
{
Rg int x=,y=;char c=getchar();
while(c<''||c>''){if(c=='-')y=-;c=getchar();}
while(c>=''&&c<=''){x=(x<<)+(x<<)+c-'';c=getchar();}
return x*y;
}
bool mp[][],nw[][];
int as=1e7,ans[],tmp[];
il void sol(int x)
{
go(i,,)go(j,,)nw[i][j]=mp[i][j];
Rg int sum=;
go(k,,)
if((<<k-)&x)
{
tmp[++sum]=k;
Rg int h=(k-)/+,l=k-*(h-);
go(i,,)nw[i][l]^=;
go(j,,)if(j!=l)nw[h][j]^=;
}
go(i,,)go(j,,)if(!nw[i][j])return;
if(sum<as){as=sum;go(i,,sum)ans[i]=tmp[i];}
}
int main()
{
go(i,,)
{
string s;cin>>s;
go(j,,)if(s[j-]=='-')mp[i][j]=;
}
Rg int maxs=(<<)-;
go(i,,maxs)sol(i);
printf("%d\n",as);
go(i,,as)printf("%d %d\n",(ans[i]-)/+,(ans[i]%)==?:ans[i]%);
return ;
}

随机推荐

  1. java根据年月获取当前月的每一天日期

    public static List<String> getDayByMonth(int yearParam,int monthParam){         List list = ne ...

  2. php 处理 大并发

    小谈php处理 大并发 大流量 大存储 一.判断大型网站的标准: 1.pv(page views)网页的浏览量: 概念:一个网站所有的页面,在24小时内被访问的总的次数.千万级别,百万级别 2. uv ...

  3. OJ大集合、

    转载自:传送门 什么是OJ Online Judge系统(简称OJ)是一个在线的判题系统.用户可以在线提交程序源代码,系统对源代码进行编译和执行,并通过预先设计的测试数据来检验程序源代码的正确性. 一 ...

  4. 【b801】笨小猴

    Time Limit: 1 second Memory Limit: 50 MB [问题描述] 笨小猴的词汇量很小,所以每次做英语选择题的时候都很头疼.但是他找到了一种方法,经试验证明,用这种方法去选 ...

  5. TP5 在模板读出Session值

    模板取值: <p class="info">后台登录中心{$Request.session.username}</p> 也可以 {$Think.sessio ...

  6. PHP开源框架Laravel的安装与配置

    编将带领大家一步步在Windows 7平台下搭建该框架: 工具/原料   windows 7 Composer Laravel最新框架 方法/步骤   1 安装composer.安装之前要确保目录:w ...

  7. layer/layui弹出层插件bug

    <button class="layui-btn" lay-submit lay-filter="formDemo" id="layui-btn ...

  8. js cookie跨域

    特别说明: 默认情况下,当前域下的cookie只能被当前域下的页面访问. 通过JavaScript设置cookie的doamin属性为一个恰当值即可实现跨域效果. 1.只有根域名相同的不同源的cook ...

  9. 如何解决vue项目中 scss 不支持 scoped 的 /deep/ 穿透写法

    如何解决vue项目中 scss 不支持 scoped 的 /deep/ 穿透写法 用过vue的人估计都用过scoped样式属性,但有时候需要穿透样式,啥办? 很多资料都说用>>> 或 ...

  10. Linux 基础(一)stat函数

    Header file: #include <sys/types.h> #include <sys/stat.h> #include <unistd.h> DEFI ...