UVa 10152 ShellSort解题报告
来源:互联网 发布:kali linux dhcp 编辑:程序博客网 时间:2024/04/30 16:44
题意:有一堆的乌龟,输出一堆乱序的乌龟,然后输入一个正确的顺序,要求找到一种最小步骤的方法使得第一堆变成第二堆,每一次可以把乌龟移到第一个位置,输出该方法步骤。
思路:从后往前遍历第二个乌龟数组,与第一个乌龟数组比较。每个乌龟都有一个从小到大的编号,由第二个乌龟数组决定。于是变成了两个数字数组的顺序比较。将字符串比较抽象为数字顺序的比较。
11
24
33
45
56
62
题目的第二个样例可以抽象为上面的数组。可以看出,顺序匹配的只有456,就是说需要移动的只有123,而且需要从大到小移动。
输出有个小技巧,见代码。
#include <iostream>#include <string>using namespace std;int main(){freopen("data.txt", "r", stdin);int cases;string tur1[250], tur2[250];scanf("%d", &cases);while (cases--){int n;scanf("%d", &n);getchar();for(int i = 0; i < n; i++)getline(cin, tur1[i], '\n');for(int i = 0; i < n; i++)getline(cin, tur2[i], '\n');int n1 = n - 1, n2 = n - 1;for(int i = n1; i >= 0; i--)if(tur1[i] == tur2[n2])n2--;//通过排除已匹配的字符串for(int i = n2; i >= 0; i--)cout << tur2[i] << endl;//直接从已排序好的字符串中输出数据cout << endl;}return 0;}
0 0
- uva 10152 ShellSort 解题报告
- UVa 10152 ShellSort解题报告
- uva 10152 shellsort
- Uva 10152 ShellSort
- uva 10152 - ShellSort
- UVa 10152 - ShellSort
- uva-10152 - ShellSort
- UVa 10152 - ShellSort
- uva 10152 - ShellSort
- 数据结构 uva-10152 - ShellSort
- UVa 10152 - ShellSort
- UVa 10152 - ShellSort
- uva 10152ShellSort
- uva 10152 ShellSort
- UVa 10152 - ShellSort
- uva 10152 ShellSort
- uva 10152 ShellSort
- UVa 10152 ShellSort
- unix网络编程bind函数listen函数和accept函数详解
- _T("") L""
- 浅谈c++和java的内部类
- 单例模式--介绍、应用及代码
- VS中利用swig实现c/c++导出python接口
- UVa 10152 ShellSort解题报告
- 教你如何在Cydia中提取Deb安装包
- java 工程获取路径 web根目录。项目classpath根目录 各种实用方法
- I-P-B frame简介
- 最优非对称加密填充(OAEP)
- JSP学习笔记
- Altium中导入ALLEGRO的brd文件
- 又见回文
- NYOJ 590 相同的和