首页 > 其他分享 >P1379 八数码难题

P1379 八数码难题

时间:2024-03-07 20:12:36浏览次数:22  
标签:难题 int P1379 next 数码 && rec now id

原题链接

题解1:朴素广搜

注意细节

code1

#include<bits/stdc++.h>
using namespace std;
int poi[4]={-3,1,-1,3};
int main()
{
    string s;
    cin>>s;
    queue<string> q;
    map<string,int> rec;
    q.push(s);
    rec[s]=1;
    while(q.size())
    {
        string now=q.front();
        q.pop();
        if(now=="123804765")break;
        for(int i=0;i<9;i++)
        if(now[i]=='0')
        {
            for(int j=0;j<4;j++)
            {
                int id=i+poi[j];
                if(id<0||id>8||id==2&&i==3||id==3&&i==2||id==5&&i==6||id==6&&i==5)continue;//注意细节,如果位于矩阵边缘就不能进行某些操作!!
                string next=now;
                swap(next[i],next[id]);
                if((rec[next]>rec[now]+1||!rec[next])&&(rec[next]=rec[now]+1)) q.push(next);
            }
            break;
        }
    }


    cout<<rec["123804765"]-1;
    return 0;
}

标签:难题,int,P1379,next,数码,&&,rec,now,id
From: https://www.cnblogs.com/pure4knowledge/p/18059655

相关文章

  • FPGA数码管知识点整理
    知识点:  数码管控制分为位选和段选,通过位控制哪一个数码管亮,通过段选控制数码管中某一段亮。  我硬件买的上面的是共阳极的,也就是段选位给低电平就能亮。  下面是段选的位控制要显示的数据。比如数字0只要让G位灭掉就行,通过给段选8'h1100_0000 (共阳极),将g和点灭掉就是0......
  • 破局数据分析滞后难题,赋能企业高速增长的指标管理解决方案
    指标是什么?业务发展过程中,企业内外部都会产生很多的业务数据,对这些数据进行采集、计算、落库、分析后,形成的统计结果称为指标。简单来说,指标是业务被拆解、量化后形成的数量特征,企业利用数据指标对业务进行精准的号脉,实现对业务的科学管理和有效优化。在我们对多家企业展开深入......
  • 什么是机械制造ERP?可以解决哪些难题
        市面上有各式各样的机械产品,这些形式各异的商品对应不同的质检标准、生产工艺、制造工序、规格等,并且在生产过程中还产生大量琐碎的业务数据。你是否还在烦恼不能实时掌握车间产能、班组负荷、产品实际成本、订单进度等?还在思考如何全面协调各类生产关系,提升生产效......
  • 国信长天51数码管动态显示消隐
    for(i=0;i<4;i++){ P0=Seg_Wei[i];HC573(6);P0=Seg_Duan[i+1];HC573(7);delayMs(1000); //设1s相当于几个数码管1秒轮播:挨着亮流水灯一样显示//所以如果想动态显示就要利用"视觉效应"吧时间设短点......
  • 8*4点LED数显驱动IC/LED数码管显示驱动控制电路(芯片)-VK1650 可驱动32点的数显屏,与市
    产品品牌:永嘉微电/VINKA产品型号:VK1650封装形式:SOP16产品年份:新年份 概述:VK1650是一种带键盘扫描电路接口的LED驱动控制专用芯片,内部集成有数据锁存器、LED驱动、键盘扫描等电路。SEG脚接LED阳极,GRID脚接LED阴极,可支持8SEGx4GRID的点阵LED显示。最大支持7x4按键。本芯片性......
  • 点阵LED数码管显示驱动IC VK16K33 A/B/C/BA/AA 驱动电流大 质量稳定 适用于计量插座,数
    概述VK16K33是一种带按键扫描接口的数码管或点阵LED驱动控制专用芯片,内部集成有数据锁存器、键盘扫描、LED驱动模块等电路。数据通过I2C通讯接口与MCU通信。SEG脚接LED阳极,GRID脚接LED阴极,可支持16SEGx8GRID的点阵LED显示面板。最大支持13×3的按键。内置上电复位电路,整体闪烁频......
  • 奇数码问题
    蓝书上的题目只要求是否可以到达,但我们扩展一个东西:康拓展开,然后来说明最小步数那么BFS过程中的主要问题就是如何判重一定要注意去掉已经填写了的数字那么这道题目就可以利用康拓展开判重然后来看一下康拓展开的逆运算解释一下每一步,以第一步为例为什么除以\(4!\),......
  • 一篇文章解决你的无线AP选型难题:从入门到精通
    无线网络覆盖项目中,无线AP的合理选型和部署非常重要。今天给大家安排。这篇文章,给你总结了6类典型的无线组网场所,针对每种场景的特点,给出相应的设备选型和部署的方案,同时整理了一些部署无线AP过程中容易忽略的细节,希望能给你日后组网提供一些帮助。01不同类型的AP,不同的使用环境不......
  • ArrayList的扩容机制详解,解决面试难题!
    前言大家好,我是chowley,不知各位在面试中,是否被问过‘读没读过相关框架的源码?’这个经典问题?我最近就遇到了,虽然我之前读过,但这玩意干读不进味啊今天我就来讲讲ArrayList,这个白家长谈的经典数据结构的扩容机制!ArrayList在Java的集合框架中,ArrayList是一个非常常用的动态数组实......
  • 多快好省| 4 条策略完美化解 BI 场景的敏感数据保护难题
    超过2000人每天取数、用数查看报表BI平台原生的权限控制和脱敏难以有效落地敏感数据基本处于“裸奔”状态4条策略如何实现有效保护?项目背景金融消费者个人信息保护与数据安全风险排查成为近年来金融监管机构的检查重点之一。G保险企业开展数据安全治理自查,已逐步完成了数据分类分......