[UVA] 704 Colour Hash
来源:互联网 发布:雷诺数的特征长度知乎 编辑:程序博客网 时间:2024/06/05 20:24
所谓“周界搜索”,练习搜索的好题,双向宽搜/迭代加深均可,还有很多细节有待完善,判重有比set更优的结构,宽搜还没写,先存一下。
//Writer:GhostCai && His Yellow Duck#include<iostream>#include<string>#include<set>#include<queue> using namespace std;set<string> book;set<string> ans;bool flag;string tar="034305650121078709X90";string st,tmp,sr;int n;void change(int way,string &r){ char sav; int i; switch(way){ case 1: sav=r[11]; for(i=11;i>=1;i--) r[i]=r[i-1]; r[0]=sav; break; case 2: sav=r[0]; for(i=0;i<=10;i++) r[i]=r[i+1]; r[11]=sav; break; case 3: sav=r[9]; for(i=9;i<=19;i++) r[i]=r[i+1]; r[20]=sav; break; case 4: sav=r[20]; for(i=20;i>=10;i--) r[i]=r[i-1]; r[9]=sav; break; }}void make(int dp,int mxdp){ if(dp>mxdp) return; cout<<tar<<endl; string pre; for(int i=1;i<=4;i++){ pre=tar; change(i,tar); if(!ans.count(tar)) { ans.insert(tar); make(dp+1,mxdp); } tar=pre; }}void dfs(int dp,int mxdp){ if(dp>mxdp) return; if(flag) return; if(ans.count(tmp)){ flag=1; return; } if(book.count(tmp) ) return;// cout<<tmp<<endl; int i; string pre; for(i=1;i<=4;i++){ pre=tmp; change(i,tmp);// dfs(dp+1,mxdp); book.insert(tmp); tmp=pre; }}bool read_s(){ int s; for(int i=1;i<=24;i++){ cin>>s; if(i>=22) continue; if(s==10) st+='X' ; else st+=char('0'+s); } return true;}int main(){ make(1,8); cin>>n; for(int i=1;i<=n;i++){// read_s(); cin>>st;// cout<<st<<endl; if(st==tar) { cout<<"PUZZLE ALREADY SOLVED\n"; st=""; continue; } tmp=st; flag=0; for(int i=1;i<=8;i++){ dfs(1,i); if(flag){ cout<<i<<endl; break; } } if(!flag) cout<<"NO SOLUTION WAS FOUND IN 16 STEPS\n"; st=""; }}
阅读全文
0 0
- uva 704 - Colour Hash
- uva:704 - Colour Hash
- uva 704 Colour Hash
- UVa 704 - Colour Hash
- [UVA] 704 Colour Hash
- uva 704 - Colour Hash map+双向bfs
- Colour Hash (Uva 704 双向bfs)
- UVA - 704 Colour Hash(双向bfs+hash+线性表)
- 704 - Colour Hash
- 704 - Colour Hash
- 704 - Colour Hash
- 704 - Colour Hash
- UVa Problem 704 Colour Hash (色彩缤纷游戏)
- UVa 704 - Colour Hash, 双向bfs,很给力
- UVa Problem 704 Colour Hash (色彩缤纷游戏)
- UVA 704 Colour Hash (双向bfs + 判重)
- uva 704 Colour Hash(隐式图搜索+ 模拟)
- UVa Problem 704 Colour Hash (色彩缤纷游戏)
- 对省市县行政区划表的操作
- 栈和队列基础
- [BZOJ2322][BeiJing2011]梦想封印-线性基-高斯消元
- 缓存淘汰算法——LRU算法
- JAVA存取ORACLE中的BLOB对象
- [UVA] 704 Colour Hash
- [LeetCode] Merge Two Sorted Lists
- Android Study Material Design 十四 之再战CoordinatorLayout
- 多进程一
- 原型
- 中国剩余定理
- 机器学习---最邻近规则分类KNN(k-NearestNeighbor)算法
- SpringMVC的零配置实现
- Spring AOP & AspectJ之原理探析