#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. SQL/T-SQL实例参考

    ,D.[Score] B_Score ,'Distince'= CASE WHEN C.Score > D.Score THEN C.[Score] - D.[Score] WHEN C.Sco ...

  2. css3美化复选框checkbox

     两种美化效果如下图: 代码(html) <div id="main"> <h2 class="top_title">使用CSS3美化复 ...

  3. Python dir

    1. 在python命令行交互环境下,可以用dir()函数查看当前的变量,比如: >>> dir()['__builtins__', '__doc__', '__loader__', ...

  4. 读书笔记<白帽子讲web安全>

    2016年3月24日 09:34:32 星期四 ddos攻击: 一种: 随机生成ip, 去建立链接, 由于http/tcp握手协议原理, 发送应答报文时因为ip无效会导致等待重发, 这种行为可以通过电 ...

  5. 在VFP6中模拟CursorAdapter的功能

    这个是我在2002年做的一个VFP程序中实现的方法, 现在看来功能和VFP8,9中的CursorAdapter非常相似, 因为属性设置有许多相同的地方,我甚至怀疑CA就是就是在这样的基础上再包装出来的 ...

  6. Spring+SpringMvc+Mybatis框架集成搭建教程二(依赖配置及框架整合)

    依赖导入以及框架整合 (1).打开项目的pom.xml文件,声明依赖 <project xmlns="http://maven.apache.org/POM/4.0.0" x ...

  7. 一张图说明CDN网络的原理

    原文: http://blog.csdn.net/coolmeme/article/details/9468743 1.用户向浏览器输入www.web.com这个域名,浏览器第一次发现本地没有dns缓 ...

  8. pm2无法自动重启

    在服务器上有个上传文件的服务,之前是pm2启动,每当有文件上传会自动重启 现在为了应对服务器宕机,我把启动脚本放在了另一文件夹内,所以就无法自动重启, 原文在 http://pm2.keymetric ...

  9. Linux常用命令学习3---(文件的压缩和解压缩命令zip unzip tar、关机和重启命令shutdown reboot……)

    1.压缩和解压缩命令    常用压缩格式:.zip..gz..bz2..tar.gz..tar.bz2..rar .zip格式压缩和解压缩命令        zip 压缩文件名 源文件:压缩文件   ...

  10. Struts2学习(一)

    struts2 就是 web层开发框架,符合MVC模式 入门程序 创建web工程 导入jar包 下载struts2的jar包  struts-2.3.15.1-all 版本. 注意:在struts2开 ...