Poj 1753 Flip Game 状态压缩 + DFS
2013-07-29 20:19
316 查看
暴力枚举
#include <iostream> #include <algorithm> #include <cstdio> #include <cstring> #include <cstdlib> #include <cmath> using namespace std; char c; int m,t; int sum = 999999; void search(int site,int sta,int ans) { if(sta == 0 || sta == 65535) { if(ans < sum) { sum = ans; } return ; } else if(sta == m && ans != 0) { return; } if(site >= 17) return; search(site+1,sta,ans);//当前棋子不改变 sta ^= (1 << (site-1));//center if(site%4 != 0) sta ^= (1 << (site)); //right if(site%4 != 1) sta ^= (1 << (site-2)); // left if(site >= 5) sta ^= (1 << (site-5)); //up if(site <= 12) sta ^= (1 << (site+3)); //down search(site+1,sta,ans+1);//改变当前棋子后继续枚举 } int main() { int i,j; char s[10]; sum = 999999; for(m = 0,t = 1,i = 0;i < 4; i++) { scanf("%s",s); for(j = 0;j < 4; j++) { if(s[j] == 'b') m += t; t *= 2; } } search(1,m,0); if(sum != 999999) cout<<sum<<endl; else cout<<"Impossible"<<endl; return 0; }
相关文章推荐
- Poj 1753 Flip Game 状态压缩 + DFS
- zoj 2050_poj 1753 Flip Game(状态压缩 简单BFS)
- POJ 1753 Flip Game (状态压缩+BFS) -- 解题报告
- poj1753 Flip Game 状态压缩+bfs
- 20140426 【DP - 状态压缩】 POJ 1753 Flip Game
- poj 1753 Flip Game(bfs状态压缩 或 dfs枚举)
- poj 1753 Flip Game 枚举(bfs+状态压缩)
- POJ 1753 Flip Game(bfs+状态压缩+位运算)
- POJ 1753 Flip Game 状态压缩 枚举
- POJ-1753 Flip Game (BFS+状态压缩)
- Poj_1753 Flip Game(状态压缩,bfs)
- poj 1753 Flip Game 状态压缩
- POJ 1753 Flip Game (黑白棋) (状态压缩+BFS)
- Flip Game(poj1753,状态压缩+暴力枚举)
- POJ 1753 Flip Game 状态压缩,暴力 难度:1
- POJ-1753 Flip Game 枚举 状态压缩
- POJ 1753 Flip Game(状态压缩BFS)
- POJ 1753 Flip Game(枚举+状态压缩BFS)
- POJ 1753 Flip Game(状态压缩)
- POJ 1753 Flip Game(BFS+状态压缩)