麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發(fā)設計 > 正文

The Pilots Brothers' refrigerator高效貪心算法

2019-11-10 19:36:33
字體:
來源:轉載
供稿:網友

Description

The game “The Pilots Brothers: following the stripy elephant” has a quest where a player needs to open a refrigerator.

There are 16 handles on the refrigerator door. Every handle can be in one of two states: open or closed. The refrigerator is open only when all handles are open. The handles are rePResented as a matrix 4х4. You can change the state of a handle in any location [i, j] (1 ≤ i, j ≤ 4). However, this also changes states of all handles in row i and all handles in column j.

The task is to determine the minimum number of handle switching necessary to open the refrigerator.

Input

The input contains four lines. Each of the four lines contains four characters describing the initial state of appropriate handles. A symbol “+” means that the handle is in closed state, whereas the symbol “?” means “open”. At least one of the handles is initially closed.

Output

The first line of the input contains N – the minimum number of switching. The rest N lines describe switching sequence. Each of the lines contains a row number and a column number of the matrix separated by one or more spaces. If there are several solutions, you may give any one of them.

Sample Input
-+-----------+--

Sample Output

61 11 31 44 14 34 4高效貪心算法AC代碼

#include<iostream>  #include<cstring>  #include<cstdio>  #include<queue>    using namespace std;    int num=0x3f3f3f3f;  int a[10][10],b[10][10],flag;  int fanzhuan(int x,int y)  {      a[x][y]=!a[x][y];      for(int i=0; i<4; i++)          a[x][i]=!a[x][i];        for(int j=0; j<4; j++)          a[j][y]=!a[j][y];  }  int panduan()  {      for(int i=0; i<4; i++)          for(int j=0; j<4; j++)              if(!a[i][j])                  return 0;      return 1;  }  struct node  {      int a,b;  } p[20];  void DFS(int x,int y,int ans)//將所有的num步的情況都跑一遍判斷是否有符合的  {      if(num==ans)      {          flag=panduan();          return ;      }        if(flag||x>=4||y>=4)          return ;        int fy=(y+1)%4;   //按行移動的      int fx=x+(y+1)/4;        fanzhuan(x,y);      DFS(fx,fy,ans+1);      p[ans].a=x;      p[ans].b=y;      fanzhuan(x,y);//原路返回      DFS(fx,fy,ans);    }  int main()  {      string s[4];      while(cin>>s[0])      {          for(int i=1; i<4; i++)              cin>>s[i];          for(int i=0; i<4; i++)              for(int j=0; j<4; j++)//格式轉換                  if(s[i][j]=='+')                      a[i][j]=0;                  else                      a[i][j]=1;          flag=0;          for(int i=0; i<=16; i++)//枚舉          {              num=i;              DFS(0,0,0);              if(flag)                  break;          }          cout<<num<<endl;          for(int i=0; i<num; i++)              cout<<p[i].a+1<<" "<<p[i].b+1<<endl;      }  } 


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 欧美粗暴analvideos | 免费看成人av | 一级免费黄色免费片 | 国产精品一区二区手机在线观看 | 视频一区二区三区免费观看 | 欧美精品 | 一级做a爱片性色毛片高清 国产精品色在线网站 | 国产精品6区 | 久久吊 | 九九精品视频免费 | 久草导航 | 日本一区二区在线 | 国产亚洲精品久久久久久久软件 | 92看片淫黄大片欧美看国产片 | 欧美成人福利 | 亚洲小视频在线观看,com | 18一20岁一级毛片 | 亚洲视频成人 | 国产高潮好爽受不了了夜色 | 成人国产精品一区 | 91av在线影院 | 91av大片| 最新精品在线 | 亚洲码无人客一区二区三区 | 欧美日韩影视 | 99精品视频在线观看免费播放 | 久久亚洲精品国产一区 | www.99tv| 国产黄色毛片 | 性少妇chinesevideo | 亚洲国产高清一区 | 青青草最新网址 | 加勒比色综合 | 最新欧美精品一区二区三区 | 欧美极品欧美精品欧美视频 | 2021国产精品 | 精品久久久久久亚洲精品 | 国产一级伦理片 | 羞羞的视频在线观看 | 国产一级一区二区三区 | 成人av一区二区免费播放 |