2017南宁网络赛J.Minimum Distance in a Star Graph(bfs求最短路)
来源:互联网 发布:韩通网络教育 编辑:程序博客网 时间:2024/05/23 01:46
题意:
给你一个n维空间,有n!的节点,节点编号为n的全排列,每个节点num与n-1个节点相连(这n-1个节点的编号分别为num的第一位与后面n-1位交换的数,例如1234与2134,3214,4231相连)
思路:
bfs求最短路,由于节点的数比较大,用map离散化节点就好了。最好根据题意模拟一下相连的边。
代码:
#include <bits/stdc++.h>using namespace std;typedef long long ll;typedef pair<ll,int> pii;map<ll,int> mp;ll Qpow(ll x,ll n){ ll res = 1; while(n>0) { if(n&1) res = res*x; x = x*x; n>>=1; } return res;}int main(){ int n; cin>>n; int test = 5; while(test--) { ll st,en; scanf("%lld%lld",&st,&en); queue<pii> q; mp.clear(); q.push(make_pair(st,0)); mp[st]++; int ans = 0; while(!q.empty()) { pii p = q.front(); ll num = p.first; if(num==en) { ans = p.second; break; } q.pop(); ll top = num/Qpow(10,n-1); ll temp = num; for(int i = 0;i<n-1;i++) { ll bac = temp%10; temp /= 10; ll now = num-top*Qpow(10,n-1)-bac*Qpow(10,i); now += bac*Qpow(10,n-1)+top*Qpow(10,i); if(!mp[now]) { mp[now]++; q.push(make_pair(now,p.second+1)); } } } printf("%d\n",ans); } return 0;}
阅读全文
0 0
- 2017南宁网络赛J.Minimum Distance in a Star Graph(bfs求最短路)
- 2017 ACM-ICPC南宁网络赛: J. Minimum Distance in a Star Graph(BFS)
- 2017 icpc 南宁赛区 J. Minimum Distance in a Star Graph(bfs)
- 2017 ACM-ICPC 亚洲区(南宁赛区)网络赛 J. Minimum Distance in a Star Graph(bfs+状态保存)
- Minimum Distance in a Star Graph(南宁网络赛)
- 2017 ACM-ICPC 亚洲区(南宁赛区)网络赛- J. Minimum Distance in a Star Graph
- 2017 ACM-ICPC 亚洲区(南宁赛区)网络赛 J. Minimum Distance in a Star Graph
- 2017 ACM-ICPC 亚洲区(南宁赛区)网络赛(J.Minimum Distance in a Star Graph)
- 2017 ACM-ICPC 亚洲区(南宁赛区)网络赛 J Minimum Distance in a Star Graph 广度优先搜索
- 2017 ACM-ICPC 亚洲区(南宁赛区)网络赛 J.Minimum Distance in a Star Graph
- Minimum Distance in a Star Graph BFS/康托展开 2017 ACM-ICPC 亚洲区(南宁赛区)网络赛
- 2017 ACM-ICPC 亚洲区(南宁赛区)网络赛 Minimum Distance in a Star Graph
- 计蒜客 Minimum Distance in a Star Graph 2017icpc南宁赛区 字符串bfs
- Minimum Distance in a Star Graph
- ???Minimum Distance in a Star Graph
- 计蒜客 Minimum Distance in a Star Graph 思维水题
- HDU 4725-J - The Shortest Path in Nya Graph-增点建图-层次网络-最短路
- hdu4725The Shortest Path in Nya Graph---spfa求最短路
- 仓库管理
- proc文件系统详解(原创)
- mvc 原理概念
- Node.js中Mysql的使用
- 在Linux系统下安装jdk以及配置jav_home和path
- 2017南宁网络赛J.Minimum Distance in a Star Graph(bfs求最短路)
- 霍纳法则
- win7中安装多个mysql
- smartfs使用总结
- 是否改变原数组的常用方法归纳
- 第四章 Controller接口控制器详解(2)——跟着开涛学SpringMVC
- 在CentOS 7上安装配置Flume
- mysql 父子节点查询
- 鼠标案例---小游戏(换皮肤)