POJ1753 Flip Game
来源:互联网 发布:java可以从事什么职业 编辑:程序博客网 时间:2024/05/17 17:42
这是一个枚举题。
我用的是八皇后的算法。
代码操作也差不多。
下面是代码:
#include <stdio.h>int a[17],b,w,min,cut;void up(int i){ if(i-4>=0) { if(a[i-4]==0) { a[i-4]=1; w--; b++; } else { a[i-4]=0; w++; b--; } }}void down(int i){ if(i+4<16) { if(a[i+4]==0) { a[i+4]=1; w--; b++; } else { a[i+4]=0; w++; b--; } }}void left(int i){ if(i-1>=0&&i/4==(i-1)/4) { if(a[i-1]==0) { a[i-1]=1; w--; b++; } else { a[i-1]=0; w++; b--; } }}void right(int i){ if(i+1<16&&i/4==(i+1)/4) { if(a[i+1]==0) { a[i+1]=1; w--; b++; } else { a[i+1]=0; w++; b--; } }}void fib(int i){ int j; if(i==-1) { for(j=i+1; j<16; j++) { fib(j); } } else { if(cut==0&&(b==0||w==0)) { min=cut; return ; }if(i>=0&&i<16){if(a[i]==0) { a[i]=1; w--; b++; } else { a[i]=0; w++; b--; }} up(i); down(i); left(i); right(i); cut++; if((b==0||w==0)&&min>cut) { min=cut; } else { for(j=i+1; j<16; j++) { fib(j); } }if(i>=0&&i<16){if(a[i]==0) { a[i]=1; w--; b++; } else { a[i]=0; w++; b--; }} up(i); down(i); left(i); right(i); cut--; }}int main(){ int i,j; char s[6]; while(scanf("%s",s)!=EOF) { b=0; w=0; min=1<<30; cut=0; for(i=0; i<4; i++) { if(s[i]=='b') { a[i]=1; b++; } else if(s[i]=='w') { a[i]=0; w++; } } for(i=1; i<4; i++) { scanf("%s",s); for(j=0; j<4; j++) { if(s[j]=='b') { a[i*4+j]=1; b++; } else if(s[j]=='w') { a[i*4+j]=0; w++; } } } fib(-1); if(min!=1<<30) { printf("%d\n",min); } else { printf("Impossible\n"); } } return 0;}
- poj1753 Flip Game
- poj1753 Flip Game
- poj1753 Flip Game
- poj1753 flip game题解
- POJ1753 Flip Game
- POJ1753-Flip Game
- poj1753 - Flip Game
- POJ1753 Flip Game
- poj1753 Flip Game
- POJ1753 Flip Game
- poj1753:Flip Game
- POJ1753 Flip Game【DFS】
- poj1753-Flip Game
- poj1753 Flip Game 广搜哈希
- poj1753--Flip Game
- poj1753 Flip Game
- POJ1753:Flip Game
- POJ1753 Flip Game 枚舉
- Delphi中解析Xml的控件-SimDesign NativeXml
- 进击的Coder:模拟赛第二场
- poj1173 解题报告
- 中缀式转后缀表达式 -NYOJ 题目267郁闷的C小加(二)
- SQL SERVER 中的Schema详解
- POJ1753 Flip Game
- Spring配置中的<context:annotation-config/>
- Thinking系列:Josephus Problems
- JS从一个元素中移除一个子元素
- HDU 4617
- libudev and Sysfs Tutorial
- [android] framework gemini 详解
- sql server 2005 还原数据库问题
- 在CentOS中使用 yum 安装MongoDB及服务器端配置