[UVA] 704 Colour Hash
所谓“周界搜索”,练习搜索的好题,双向宽搜/迭代加深均可,还有很多细节有待完善,判重有比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="";}}
转载于:https://www.cnblogs.com/ghostcai/p/9247531.html
[UVA] 704 Colour Hash相关推荐
- UVA 188 Perfect Hash
UVA_188 这个题目的难度主要在理解题意上面,理解了题意之后只要按题意进行模拟并找出C即可. #include<stdio.h>#include<string.h>#inc ...
- UVa Online Judge 工具網站
UVa Online Judge 工具網站 转自http://www.csie.ntnu.edu.tw/~u91029/uva.html Lucky貓的ACM園地,Lucky貓的 ACM 中譯題目 M ...
- (Step1-500题)UVaOJ+算法竞赛入门经典+挑战编程+USACO
下面给出的题目共计560道,去掉重复的也有近500题,作为ACMer Training Step1,用1年到1年半年时间完成.打牢基础,厚积薄发. 一.UVaOJ http://uva.onlinej ...
- 算法竞赛入门经典+挑战编程+USACO
下面给出的题目共计560道,去掉重复的也有近500题,作为ACMer Training Step1,用1年到1年半年时间完成.打牢基础,厚积薄发. 一.UVaOJ http://uva.onlinej ...
- sicily题目分类
sicily题目分类 1. 编程入门 2. 数据结构 3. 字符串 4. 排序 5. 图遍历 6. 图算法 7. 搜索:剪枝,启发式搜索 8. 动态规划/递推 9. 分治/递归 10. 贪心 11. ...
- [sicily]部分题目分类
sicily题目分类 1. 编程入门 2. 数据结构 3. 字符串 4. 排序 5. 图遍历 6. 图算法 7. 搜索:剪枝,启发式搜索 8. 动态规划/递推 9. 分治/递归 10. 贪心 11. ...
- Sicily 题目分类
依照自己水平挑着做→ →~~ 1. 编程入门 2. 数据结构 3. 字符串 4. 排序 5. 图遍历 6. 图算法 7. 搜索:剪枝,启发式搜索 8. 动态规划/递推 9. 分治/递归 10. 贪心 ...
- 编程题目分类(剪辑)
1. 编程入门 2. 数据结构 3. 字符串 4. 排序 5. 图遍历 6. 图算法 7. 搜索:剪枝,启发式搜索 8. 动态规划/递推 9. 分治/递归 10. 贪心 11. 模拟 12. 算术与代 ...
- 提取了下刘汝佳推荐的题号...
今天闲来没事上uva oj提取了下刘汝佳推荐的acm题号,原始数据如下: Volume 0. Getting Started 10055 - Hashmat the Brave Warrior ...
最新文章
- 解决Chrome浏览器打开虾米音乐网页播放器时的排版问题
- information_schema中的所有表和视图
- python拷贝文件夹目录和文件_Python 拷贝文件及文件夹到远程主机目录
- 微信小程序使用函数的方法
- Linux学习总结(35)——CentOS 7.X设置服务开机启动
- 第10组17通信三班228网络协议抓包分析
- 11、盛最多水的容器(python)
- labview csv文件处理_Labview搭建Web服务器
- 几款非常好用并免费的项目进度管理软件
- Go语言 gorutine和channel协同工作经典应用案例 (Golang经典编程案例)
- 原生JavaScript实现jQuery中的fadeIn和fadeOut淡入/出效果
- IPSEC对称解密以及非对称加密
- 常见的生物识别技术有哪些
- 使用vue音频播放器(vue-aplayer)详解
- android webview 本地视频播放,javascript – Android WebView不允许加载本地视频文件
- 【Translate插件】报错:更新TTK失败,请检查网络连接问题
- 计算机应用基础高一考试,计算机应用基础 2018 高一《计算机应用基础》教学方法初探...
- jzoj(senior)4208. 【五校联考1day1】线段树什么的最讨厌了
- 《Fundamentals Of Computer Graphics》虎书第三版翻译——第六章 矩阵变换
- js,前端下载PDF方法总结