
【SSL 1692&洛谷 P2730】[USACO] 魔板【BFS&哈希表】
发布日期:2021-05-06 18:48:25
浏览次数:20
分类:技术文章
本文共 1212 字,大约阅读时间需要 4 分钟。
USACO 3.2 Magic Squares 魔板 (BFS-HASH)
Time Limit:10000MS Memory Limit:65536K Case Time Limit:1000MS
Description
在成功地发明了魔方之后,拉比克先生发明了它的二维版本,称作魔板。这是一张有8个大小相同的格子的魔板: 1 2 3 4 8 7 6 5 我们知道魔板的每一个方格都有一种颜色。这8种颜色用前8个正整数来表示。可以用颜色的序列来表示一种魔板状态,规定从魔板的左上角开始,沿顺时针方向依次取出整数,构成一个颜色序列。对于上图的魔板状态,我们用序列(1,2,3,4,5,6,7,8)来表示。这是基本状态。 这里提供三种基本操作,分别用大写字母“A”,“B”,“C”来表示(可以通过这些操作改变魔板的状态): “A”:交换上下两行; “B”:将最右边的一列插入最左边; “C”:魔板中央四格作顺时针旋转。 下面是对基本状态进行操作的示范: A: 8 7 6 5 1 2 3 4 B: 4 1 2 3 5 8 7 6 C: 1 7 2 4 8 6 3 5 对于每种可能的状态,这三种基本操作都可以使用。 你要编程计算用最少的基本操作完成基本状态到目标状态的转换,输出基本操作序列。Input
只有一行,包括8个整数,用空格分开(这些整数在范围 1——8 之间),表示目标状态。
Output
Line 1: 包括一个整数,表示最短操作序列的长度。
Line 2: 在字典序中最早出现的操作序列,用字符串表示,除最后一行外,每行输出60个字符。Sample Input
2 6 8 4 5 7 3 1
Sample Output
7 BCABCCB
分析:
由于是求最短长度以及又给了3种方法
很容易想到是广搜 深搜会可能会陷入死循环 STEP: ① 广搜求最短长度 ② 用哈希表判断重复 需思考3种情况如何表示CODE:
#include#include #include #define p 100003using namespace std;const int follow[3][9]={ { 8,7,6,5,4,3,2,1},{ 4,1,2,3,6,7,8,5},{ 1,7,2,4,5,3,6,8}}; //3种基本情况int xq,fth[p],num[p],head,tail;string st[p],s,hash[p];char prin[p];bool hash2(string x){ //哈希判重 int ans=0; for(int i=0;i<8;i++){ ans=(ans*8)+(ans*2)+x[i]-48; } int i=0; ans%=p; while(i
发表评论
最新留言
第一次来,支持一个
[***.219.124.196]2025年03月14日 11时04分22秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
2020年茶艺师(高级)考试内容及茶艺师(高级)考试申请表
2019-03-03
2021年重氮化工艺考试题库及重氮化工艺考试报名
2019-03-03
2021年车工(高级)考试总结及车工(高级)试题及答案
2019-03-03
2021年压力焊证考试及压力焊实操考试视频
2019-03-03
2021年低压电工考试及低压电工考试申请表
2019-03-03
2021年低压电工考试及低压电工考试申请表
2019-03-03
2021年A特种设备相关管理(电梯)考试APP及A特种设备相关管理(电梯)复审考试
2019-03-03
2021年N1叉车司机考试题及N1叉车司机复审模拟考试
2019-03-03
2021年T电梯修理考试技巧及T电梯修理模拟考试软件
2019-03-03
大数据学习之Spark——00Spark项目的pom.xml文件
2019-03-03
CodeBlocks开发wxWidgets环境配置详细
2019-03-03
天涯人脉通讯录 - 设计草图
2019-03-03
wxWidgets 最新版2.8.11,终于放出来了
2019-03-03
python学习09:暂停一秒后再输出
2019-03-03
6、ShardingSphere 之 读写分离
2019-03-03
C++ STL
2019-03-03
解方程
2019-03-03
练习赛 位运算 思维 思维
2019-03-03
Netty 粘包 拆包 | 史上最全解读
2019-03-03
【调剂】其它计算机/软件调剂信息 20.4.21
2019-03-03