Flip Game
来源:互联网 发布:广电网络遥控器没反应 编辑:程序博客网 时间:2024/06/02 06:52
翻牌问题,我动一个,它的前后左右相邻的一个的状态都会改变,有多少相邻的算多少,这个题的简单指出在于它限制了该图的大小是一个4*4的,所以问题很简单了
#include <iostream>#include <cstring>using namespace std;char map[10][10];int mark[10][10];void fanpai(int x,int y){ mark[x][y]=!mark[x][y]; if(x-1>=0) mark[x-1][y]=!mark[x-1][y]; if(x+1<4) mark[x+1][y]=!mark[x+1][y]; if(y-1>=0) mark[x][y-1]=!mark[x][y-1]; if(y+1<4) mark[x][y+1]=!mark[x][y+1];}int panduan(){ int sum=0; for(int i=0; i<4; i++) { for(int j=0; j<4; j++) { sum=sum+mark[i][j]; } } if(sum==0||sum==16) return 1; else return 0;}int mn;void dfs(int k,int cont){ if(k==16) { if(panduan()) if(cont<mn) mn=cont; } else { int x=k/4; int y=k%4; dfs(k+1,cont); fanpai(x,y); dfs(k+1,cont+1); fanpai(x,y); }}int main(){ memset(mark,0,sizeof(mark)); int i,j; for(i=0;i<4;i++) { cin>>map[i]; for(j=0;j<4;j++) { if(map[i][j]=='b') mark[i][j]=1; } } mn=17; dfs(0,0); if(mn==17) cout<<"Impossible"<<endl; else cout<<mn<<endl; return 0;}
0 0
- Flip Game
- Flip Game
- Flip Game
- Flip Game
- Flip Game
- Flip Game
- flip game
- Flip Game
- Flip Game
- FLIP GAME
- Flip Game
- Flip Game
- Flip Game
- Flip Game
- Flip Game
- Flip Game
- Flip Game
- Flip Game
- 常用手机软件
- Hduoj1358 【KMP】
- Arcengine 的IEnumFeature接口使用的一个细节
- Oracle 11G 监控单张表的增删改操作
- REST服务开发实战
- Flip Game
- android的各种layout参数
- 关于内核模块签名的问题
- VS调试技巧之附加进程
- 数据结构学习1
- matlab求最大公约数和最小公倍数
- 微信验证消息真实性
- server服务
- Linux 设备驱动的第一个例子:Hello World