博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
2017 ACM-ICPC 南宁区比赛 Minimum Distance in a Star Graph
阅读量:4971 次
发布时间:2019-06-12

本文共 974 字,大约阅读时间需要 3 分钟。

2017-09-25 19:58:04

writer:pprp

题意看上去很难很难,但是耐心看看还是能看懂的,给你n位数字

你可以交换第一位和之后的某一位,问你采用最少的步数可以交换成目标

有五组数据

用BFS进行搜索,并进行剪枝,已经搜索过的点不再搜索

#include 
#include
#include
#include
#include
#include
#include
using namespace std;string sa, sb;int n;struct node{ string str; int times; node() { str = ""; times = 0; }};int bfs(){ queue
q; set
ss; node now , nex; now.str = sa; q.push(now); ss.insert(now.str); while(!q.empty()) { now = q.front(); q.pop(); if(now.str == sb) return now.times; for(int i = 1; i < n;i++) { nex.str = now.str; nex.times = now.times+1; nex.str[i] = now.str[0]; nex.str[0] = now.str[i]; if(ss.count(nex.str) == 0) { ss.insert(nex.str); q.push(nex); } else continue; } }}int main(){ cin >> n; for(int i = 0 ; i < 5 ;i++) { cin >> sa >> sb; cout << bfs() << endl; } return 0;}

现阶段掌握搜索还不是太好,希望以后可以尽快掌握

转载于:https://www.cnblogs.com/pprp/p/7593679.html

你可能感兴趣的文章
java 编程基础
查看>>
策略模式——HeadFirst 设计模式学习笔记
查看>>
web页面兼容性测试之browsershots工具使用
查看>>
java常用设计模式十二:命令模式
查看>>
SQL NOTE-VARIABLE
查看>>
电商环境下客户关系管理的特点及应用
查看>>
前台登录验证
查看>>
大数据计算新贵Spark在腾讯雅虎优酷成功应用解析
查看>>
CoreGraphics QuartzCore CGContextTranslateCTM 说明
查看>>
基本推荐算法站点
查看>>
创建与删除索引
查看>>
log4net使用具体解释
查看>>
Perl多进程
查看>>
乐酷工作室孙志伟:Testin云測试有广度有深度 省钱省力值得信赖
查看>>
CodeForces 22C System Administrator
查看>>
团队博客8
查看>>
多操作系统安装实践小结
查看>>
ABP学习入门系列(三) (领域层中的仓储Repository)
查看>>
iPhone-NSAssert使用
查看>>
35.大质数
查看>>