#include<stdio.h>
int map[4][4]={ 0,1,0,0,
0,0,0,0,
0,0,0,0,
0,1,0,0};
int flag=0;
int minci=99999;
int qi[16];
int zhenqi[16];
void fan(int x,int y)
{
map[x][y]^=1;
for(int i=0;i<4;i++)
{
map[x][i]^=1;
map[i][y]^=1;
}
/*for(int i=0;i<4;i++)
{
for(int j=0;j<4;j++)
{
printf("%d ",map[i][j]);
}
printf("\n");
}printf("\n");*/
}
void dfs(int step,int ci)
{
if(ci>minci)
return;
for(int i=0;i<4;i++)
{
for(int j=0;j<4;j++)
{
if(map[i][j]!=0)
{
flag=1;
break;
}
}
if(flag==1)
break;
}
if(flag!=1&&minci>ci)
{
minci=ci;
flag=0;
for(int i=0;i<ci;i++)
{
zhenqi[i]=qi[i];
}
return;
}
flag=0; if(step==16)
{
return;
}
fan(step/4,step%4);
qi[ci]=step;
dfs(step+1,ci+1);
fan(step/4,step%4);
dfs(step+1,ci);
}
int main()
{
dfs(0,0);
printf("%d\n",minci);
for(int i=0;i<minci;i++)
printf("%d %d\n",zhenqi[i]/4+1,zhenqi[i]%4+1);
return 0;
}

jiajianhao的更多相关文章

随机推荐

  1. 【MySQL】常规操作

    2016.4.10 1.MySQL查看系统当前默认自增列种子值和步长值(全局) 1 show GLOBAL VARIABLES like 'auto_incre%'; 2.MySQL查看具体某一张表的 ...

  2. 【GoLang】golang 最佳实践汇总

    最佳实践 1 包管理 1.1 使用包管理对Golang项目进行管理,如:godep/vendor等工具 1.2 main/init函数使用,init函数参考python 1.2.1 main-> ...

  3. myecplise 中文乱码

    一.设置新建常见文件的默认编码格式,也就是文件保存的格式. 在不对MyEclipse进行设置的时候,默认保存文件的编码,一般跟简体中文操作系统(如windows2000,windowsXP)的编码一致 ...

  4. nginx访问不了zabbix安装配置界面

    通过yum安装的php等其他各种软件,配置好后,html目录下面php可以解析,但是就是访问不到setup.php文件.后来各种查找,发现是setup解析错误 PHP Parse error:  sy ...

  5. JavaScript高级程序设计学习笔记--BOM

    window对象 BOM的核心对象是window,它表示浏览器的一个实例.在浏览器中,window对象有双重角色,它既是通过JavaScript访问浏览器窗口的一个接口,又是ECMScript规定的G ...

  6. .NET LINQ 限定符操作

    限定符操作      限定符运算返回一个 Boolean 值,该值指示序列中是否有一些元素满足条件或是否所有元素都满足条件. 方法 方法名 说明 C# 查询表达式语法 Visual Basic 查询表 ...

  7. October 23rd Week 44th Sunday 2016

    When ambition ends, happiness begins. 野心消亡之日,正是快乐破茧之时. No ambition, no annoyance. No ambition, no ac ...

  8. Intent之复杂数据的传递

    想在两个Activity之间传递一个对象Result,在网上差了很多,都需要序列化或者时下Paracelable,等等,试了很多都不行. 后来才制单,这个Result,根本不需要集成Sereriabl ...

  9. 查找html中的某个事件

    打开浏览器的调试功能,以chrome为例,按F12打开调试窗口,切换到Sources选项卡,最右边的Event Listener Breakpoints里勾选Mouse下的mouseover即可,当你 ...

  10. rename

    重命名文件名: # rename hosts.conf.正式配值文件 hosts.conf.正式配置文件 hosts.conf.正式配值文件 [root@monitor- vhost]# ls hos ...