我是靠谱客的博主 落后手套,最近开发中收集的这篇文章主要介绍蓝桥杯历届试题 青蛙跳杯子如果可以,可以陪你千年不老,千年只想眷顾你倾城一笑;如果愿意,愿意陪你永世不离,永世只愿留恋你青丝白衣。,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
如果可以,可以陪你千年不老,千年只想眷顾你倾城一笑;如果愿意,愿意陪你永世不离,永世只愿留恋你青丝白衣。
#include<bits/stdc++.h>
#define inf 0x3f3f3f3f
typedef long long ll;
using namespace std;
string a,b;
map<string,int>mp;
struct node
{
string s;
int ct;
int fg;
node(string S,int Ct,int Fg)
{
s=S;
ct=Ct;
fg=Fg;
}
};
//杯子与青蛙进行交换,每次最多有六种可能
void bfs()
{
queue<node>qu;
if(a==b)
cout<<0<<endl;
else
{
node q=node(a,0,a.find('*'));
qu.push(q);
mp[a]=1;
while(!qu.empty())
{
q=qu.front();
qu.pop();
for(int i=q.fg-3; i<=q.fg+3; i++)
{
if(i>=0&&i<q.s.size()&&i!=q.fg)
{
string ss=q.s;
swap(ss[i],ss[q.fg]);
if(ss==b)
{
cout<<q.ct+1<<endl;
return ;
}
else if(mp[ss]!=1)
{
mp[ss]=1;
node q1=node(ss,q.ct+1,i);
qu.push(q1);
}
}
}
}
}
}
int main()
{
cin>>a>>b;
bfs();
return 0;
}
最后
以上就是落后手套为你收集整理的蓝桥杯历届试题 青蛙跳杯子如果可以,可以陪你千年不老,千年只想眷顾你倾城一笑;如果愿意,愿意陪你永世不离,永世只愿留恋你青丝白衣。的全部内容,希望文章能够帮你解决蓝桥杯历届试题 青蛙跳杯子如果可以,可以陪你千年不老,千年只想眷顾你倾城一笑;如果愿意,愿意陪你永世不离,永世只愿留恋你青丝白衣。所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复