lanqiao OJ 261 九宫重排

简介: lanqiao OJ 261 九宫重排

1.九宫重排 - 蓝桥云课 (lanqiao.cn)

这个题跟前的那个华容道的题差不多,我们需要用map记录string有没有走过,然后用bfs遍历,

把三排的图利用  /  和  %  变成一行的字符,当找到刚开始要的找的目标字符串的时候就返回他的map值

#include<iostream>
#include<algorithm>
#include<cstring>
#include<queue>
#include<map>
 
using namespace std ;
int d[4][2] = {{0,1},{0,-1},{1,0},{-1,0}};
queue<string> q ;//bfs
string a ,b;//初始字符串,目标字符串
map<string,int> mp ;//用mp记录距离,已经变换过的次数
 
int bfs(){
    while(!q.empty()){
        string now = q.front() ;
        q.pop() ;
        if(now == b) return mp[now] ;//找到目标字符串就返回
        int cnt1 = now.find('.') ;//找到‘.’在字符串的位置
        int x = cnt1 / 3 , y = cnt1 % 3 ;
        for(int i = 0 ; i < 4 ; i ++){
            int tx = x + d[i][0] , ty = y + d[i][1]  ;       
            if(tx<0||tx>=3||ty<0||ty>=3) continue ;
            int cnt2 = tx * 3 + ty ;  
            string ts = now ;
            ts[cnt1] = now[cnt2] ;
            ts[cnt2] = '.' ;
 
            if(mp[ts]) continue ;//如果这个字符串已经被遍历过就继续循环
 
            q.push(ts) ;
            mp[ts] = mp[now] + 1 ;//mp值加一
        }
    }
}
 
int main(){
    cin >> a >> b ;
    q.push(a) ;
    
    mp[a] = 0 ;//当初始状态的时候不用变换为0
    cout << bfs() << endl ;
    return 0 ;
}
目录
相关文章
|
存储 缓存 数据安全/隐私保护
段页存储
段页存储
648 0
如何用限制立方样条(RCS)做生存分析?
如何用限制立方样条(RCS)做生存分析?
1799 0
如何用限制立方样条(RCS)做生存分析?
|
机器学习/深度学习 人工智能 PyTorch
PyTorch深度学习 ? 带你从入门到精通!!!
🌟 蒋星熠Jaxonic,深度学习探索者。三年深耕PyTorch,从基础到部署,分享模型构建、GPU加速、TorchScript优化及PyTorch 2.0新特性,助力AI开发者高效进阶。
PyTorch深度学习 ? 带你从入门到精通!!!
|
8月前
|
人工智能 自然语言处理 运维
企业建设智能客服系统要多少钱(2026年2月最新)
2026年智能客服成企业数字化标配,全球市场规模将超680亿美元。建设成本因部署模式(SaaS/专属云/私有化)、对话复杂度、渠道覆盖、系统集成、并发量及合规要求而异,年投入从2万元到150万元不等。科学规划预算、聚焦业务价值,方能实现高效ROI。(239字)
|
9月前
|
人工智能 运维 API
火爆全网的Skill自己怎么做?老金来教你!(含避坑指南)
本文深度解析Anthropic官方Skills开发指南(anthropics/skills),揭秘“渐进式展示”三层架构:100词元数据决定触发、5000词主体承载核心逻辑、资源按需加载。老金亲测踩坑,提炼6步实操流程与避坑公式,助你零基础打造高效、可维护的专业Skill。(239字)
13436 4
|
Ubuntu Python
No module named ‘_lzma’
No module named ‘_lzma’
5104 0
|
数据采集 监控 API
加密货币 Pump 监测刮刀工具开发原理及实现路径
开发Pump监测刮刀工具需综合运用高频数据采集、波动率建模、跨平台对冲三大核心技术,2025年的技术瓶颈已从基础数据获取转向超低延迟执行与合规适配。建议采用模块化开发策略,优先实现核心监控功能,再逐步接入AI决策与链上套利模块。代码示例需根据最新交易所API文档动态调整,并严格遵守所在地监管法规。
|
人工智能 Linux C++
即开即用,封装 Flask 项目为 exe 文件实操步骤
即开即用,封装 Flask 项目为 exe 文件实操步骤
|
监控 Shell Linux
清理旧的 core dump 文件
【10月更文挑战第1天】
1757 2
|
存储 监控 安全
云存储的安全性:保护你的数据的技术探索
【8月更文挑战第8天】云存储的安全性是保障用户数据安全的重要基础。通过数据加密、访问控制、多副本备份、网络安全和物理安全等多种技术手段,云存储服务提供商能够为用户提供安全可靠的存储服务。然而,用户也需要加强自身的安全意识和管理措施,共同维护云存储环境的安全稳定。
1678 2

热门文章

最新文章