zoukankan      html  css  js  c++  java
  • poj2965

    #include <iostream>
    using namespace std;
    bool map[4][4];
    bool record[4][4];//自动初始化为0;
    int num;
    void init()
    {
     int i,j;
     char ch;
     for (i=0;i<4;i++)
     {
      for (j=0;j<4;j++)
      {
       cin>>ch;
       if (ch=='+')
       {
        map[i][j]=false;
       }
       else map[i][j]=true;
      }
     }
     //getchar();
    }

    bool jianc()
    {
     int i,j;
     num=0;
     for (i=0;i<4;i++)
      for (j=0;j<4;j++)
        if(map[i][j])
        num++;
     if (num==16)
      return true;
     else
      return false;
    }
    void output()
    {
     int i,j;
     for (i=0;i<4;i++)
     {
      for (j=0;j<4;j++)
      {
       if(record[i][j])
        cout<<i+1<<' '<<j+1<<endl;
      }
     }
    }
    void press(int ii,int jj)
    {
     record[ii][jj]=!record[ii][jj];
     int i;
     map[ii][jj]=!map[ii][jj];
     for(i=0;i<4;i++)
     {
      map[ii][i]=!map[ii][i];
            map[i][jj]=!map[i][jj];

     }
    }
    void dfs(int t,int step)
    {
     if(jianc())//打开了就输出
     {
      cout<<step<<endl;
      output();
      exit(0);
      return;
     }
     if(t>=16) return;
     dfs(t+1,step);
     press(t/4,t%4);
     step++;
     dfs(t+1,step);
     press(t/4,t%4);
     step--;
    }   
    int main()
    {
     init();
     dfs(0,0);
     return 0;
    }

  • 相关阅读:
    抽象工厂
    MVC模型验证+客户端验证
    模型绑定
    Linq 构建块
    Linq的简单应用_01
    简单的Jquery轮播
    实现自己的代码生成器
    JS练习--闭包
    node部署网页
    IE8-浏览器下iframe的动态onload事件处理
  • 原文地址:https://www.cnblogs.com/qijinbiao/p/2181749.html
Copyright © 2011-2022 走看看