计蒜客 Minimum Distance in a Star Graph 思维水题
来源:互联网 发布:自动注音软件 编辑:程序博客网 时间:2024/06/05 13:31
题目链接
题意:
就是给你两个全排列,让你从第一个变换为第二个,每次只能将第一个位置和其他位置交换,问你最少的交换步骤?
思路:
因为只能和第一个交换,所以没有什么好的交换策略,依据贪心的思想如果第一个数不在他最终的位置则交换到最终位置,否则就找到后面未在正确位置的和第一个交换,一直模拟到全部归位.
PS: 赛场上是bfs+剪枝写的还是有点麻烦...
#include<bits/stdc++.h>using namespace std;char s[20],e[20];int n,ans,pos[20];void solve(){int flag;while(1 == 1){if(s[0] != e[0]){ans++;swap(s[0],s[pos[s[0] - '0']]);}else{flag = 0;for(int i = n-1;i > 0;--i){if(s[i] != e[i]){swap(s[0],s[i]);ans++;flag = 1;break;}}if(!flag) break;}}}int main(){scanf("%d",&n);for(int i = 1;i <= 5;++i){scanf(" %s %s",s,e);for(int j = 0;j < n;++j)pos[e[j]-'0'] = j;ans = 0;solve();printf("%d\n",ans);}}
阅读全文
0 0
- 计蒜客 Minimum Distance in a Star Graph 思维水题
- Minimum Distance in a Star Graph
- ???Minimum Distance in a Star Graph
- Minimum Distance in a Star Graph(南宁网络赛)
- 计蒜客 Minimum Distance in a Star Graph 2017icpc南宁赛区 字符串bfs
- 2017 ACM-ICPC南宁网络赛: J. Minimum Distance in a Star Graph(BFS)
- 2017 ACM-ICPC 亚洲区(南宁赛区)网络赛 Minimum Distance in a Star Graph
- 2017 icpc 南宁赛区 J. Minimum Distance in a Star Graph(bfs)
- 2017南宁网络赛J.Minimum Distance in a Star Graph(bfs求最短路)
- 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 亚洲区(南宁赛区)网络赛(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(bfs+状态保存)
- Connectivity in a directed graph
- minimum value in a tree
- 老卢独家整理Android Studio的填坑指南
- struts2与spring框架整合
- 编程求两个数的最大公约数和最小公倍数
- Apache Cassandra3.X 系列,第 2 部分 数据模型深入解释
- 网页上截取显示图片的一部分
- 计蒜客 Minimum Distance in a Star Graph 思维水题
- spring boot读取yml配置内容
- 在optenstack配置nova
- DLL制作指南
- AJAX学习笔记
- 使用内联标签时应该注意的line-height
- Java 多线程(PART VIII)synchronized(I)
- [T13365]他
- python库函数-datetime