首页 技术 正文
技术 2022年11月19日
0 收藏 911 点赞 3,156 浏览 952 个字
/*    Name: HDU--1195--Open the Lock    Author: shen_渊    Date: 17/04/17 08:54    Description: bfs,用四维数组标记状态,每位数字可以做三种操作 +1,-1,交换                可以不用优先队列,题意决定,优先队列更费时间*/#include<iostream>#include<queue>#include<cstring>using namespace std;struct node{    int steps;    string s;    node():steps(){    };    bool operator <(const node &a)const{        return steps>a.steps;    }};int bfs();][][][];string str1,str2;int main(){    ios::sync_with_stdio(false);//    freopen("in.txt","r",stdin);    int n;cin>>n;    while(n--){        memset(vis,,sizeof(vis));        cin>>str1>>str2;        if(str1 == str2)cout<<"0\n";        else cout<<bfs()<<endl;    }    ;}int bfs(){    priority_queue<node> q;    node p;    p.s = str1;    q.push(p);    vis[p.s[]-]-]-]-;    while(!q.empty()){        node a,temp;        temp = q.top();q.pop();        if(temp.s == str2)return temp.steps;        ; i<; ++i) {            //+1            a.s = temp.s;            ';            ;            ]-]-]-]-']){                a.steps = temp.steps + ;                q.push(a);                vis[a.s[]-]-]-]-;            }            //-1            a.s = temp.s;            ';            ;            ]-]-]-]-']){                a.steps = temp.steps + ;                q.push(a);                vis[a.s[]-]-]-]-;            }            //交换            ){                a.s = temp.s;                a.s[i] = temp.s[i+];                a.s[i+] = temp.s[i];                ]-]-]-]-']){                a.steps = temp.steps + ;                q.push(a);                vis[a.s[]-]-]-]-;                }            }        }    }    ;}
相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,085
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,560
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,409
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,182
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,819
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,902