1. #include<stdio.h>
  2. int map[4][4]={ 0,1,0,0,
  3. 0,0,0,0,
  4. 0,0,0,0,
  5. 0,1,0,0};
  6. int flag=0;
  7. int minci=99999;
  8. int qi[16];
  9. int zhenqi[16];
  10. void fan(int x,int y)
  11. {
  12. map[x][y]^=1;
  13. for(int i=0;i<4;i++)
  14. {
  15. map[x][i]^=1;
  16. map[i][y]^=1;
  17. }
  18. /*for(int i=0;i<4;i++)
  19. {
  20. for(int j=0;j<4;j++)
  21. {
  22. printf("%d ",map[i][j]);
  23. }
  24. printf("\n");
  25. }printf("\n");*/
  26. }
  27. void dfs(int step,int ci)
  28. {
  29. if(ci>minci)
  30. return;
  31. for(int i=0;i<4;i++)
  32. {
  33. for(int j=0;j<4;j++)
  34. {
  35. if(map[i][j]!=0)
  36. {
  37. flag=1;
  38. break;
  39. }
  40. }
  41. if(flag==1)
  42. break;
  43. }
  44. if(flag!=1&&minci>ci)
  45. {
  46. minci=ci;
  47. flag=0;
  48. for(int i=0;i<ci;i++)
  49. {
  50. zhenqi[i]=qi[i];
  51. }
  52. return;
  53. }
  54. flag=0;
  55.  
  56. if(step==16)
  57. {
  58. return;
  59. }
  60. fan(step/4,step%4);
  61. qi[ci]=step;
  62. dfs(step+1,ci+1);
  63. fan(step/4,step%4);
  64. dfs(step+1,ci);
  65. }
  66. int main()
  67. {
  68. dfs(0,0);
  69. printf("%d\n",minci);
  70. for(int i=0;i<minci;i++)
  71. printf("%d %d\n",zhenqi[i]/4+1,zhenqi[i]%4+1);
  72. return 0;
  73. }

jiajianhao的更多相关文章

随机推荐

  1. Servlet 之 HttpServlet

    package cn.jiemoxiaodi.http; import java.io.IOException; import javax.servlet.GenericServlet; import ...

  2. XCode4.5.6,iOS6.1下测试 判断当前设备,及其联网状态等; 关于设备插上后XCode检测不出的情况的说明

    目录[-] 一.判断设备 二.判断网络连接状态 三.设备不显示的解决办法 一.判断设备 01 //设备名称 02 return [UIDevice currentDevice].name; 03   ...

  3. iOS 禁止边缘滑动返回

    self.navigationController.interactivePopGestureRecognizer.enabled = NO;

  4. 【数据结构初学】(java实现篇)——队列(转)

    原文地址:http://www.cnblogs.com/skywang12345/p/3603935.html 原文地址:http://www.cnblogs.com/skywang12345/p/3 ...

  5. 【转】png优化相关

    Png是图像文件存储格式,在网页设计中已经不是一个陌生的名词,在前端开发中经常使用到它,如常用CSS 雪碧图.而Png的使用不仅仅如此,Png有多少种格式,有哪些特点,PC端中常用的Png格式是哪些, ...

  6. [转载]使用PyQt来编写第一个Python GUI程序

    转载自:http://python.jobbole.com/81276/ 英文版出处:http://pythonforengineers.com/your-first-gui-app-with-pyt ...

  7. java DMO及增删改查代码的自动生成

    在web开发过程中,尤其是后台管理系统的开发中,少不了增删改成的基础操作,原来我自己的做法是一份一份的拷贝粘贴,然后修改其中的不同,然而这样既枯燥无味又浪费了大量的时间,所以根据自己项目结构的特点写了 ...

  8. T-SQL 基础学习 01

    --新建数据库 create database Studentdb go --使用数据库 use Studentdb go --新建表 create table Username ( StudentN ...

  9. SPOJ HIGH Highways ——Matrix-Tree定理 高斯消元

    [题目分析] Matrix-Tree定理+高斯消元 求矩阵行列式的值,就可以得到生成树的个数. 至于证明,可以去看Vflea King(炸树狂魔)的博客 [代码] #include <cmath ...

  10. 【Unity3d游戏开发】Unity3D中的3D数学基础---向量

    向量是2D.3D数学研究的标准工具,在3D游戏中向量是基础.因此掌握好向量的一些基本概念以及属性和常用运算方法就显得尤为重要.在本篇博客中,马三就来和大家一起回顾和学习一下Unity3D中那些常用的3 ...