UVA10152- ShellSort
2013-08-17 20:12
351 查看
题意:给n只乌龟按所给的顺序排序,要求移动乌龟的数量最少。
思路:要使移动的步骤最少,就要保证相对顺序相比较于目标顺序的不要进行移动(即最大的公共子序列不要移动)。这样的话,可以分别为两个序列设一个指示器,从尾部开始
碰到两个序列都一样的就都减掉1,如果不相同的就相对顺序的减掉1,目标顺序的不变,最后将剩余的目标顺序的按逆序输出。
思路:要使移动的步骤最少,就要保证相对顺序相比较于目标顺序的不要进行移动(即最大的公共子序列不要移动)。这样的话,可以分别为两个序列设一个指示器,从尾部开始
碰到两个序列都一样的就都减掉1,如果不相同的就相对顺序的减掉1,目标顺序的不变,最后将剩余的目标顺序的按逆序输出。
#include<stdio.h> #include<string.h> int main() { int cas; scanf("%d", &cas); while (cas--) { int n, cnt = 0; char s[300][100], str[300][100]; scanf("%d", &n); getchar(); for(int i = 0; i < n; i++) gets(s[i]); for(int i = 0; i < n; i++) gets(str[i]); int i = n - 1, j = n - 1; while (i >= 0 && j >= 0) { if (strcmp(s[i], str[j])) { i--; } else { i--; j--; } } while (j >= 0) puts(str[j--]); printf("\n"); } return 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
- uva10152 ShellSort
- UVa 10152 - ShellSort
- uva10152-ShellSort
- UVA 10152 (暑期-线性表-E- ShellSort)
- Uva 10152 ShellSort
- uva 10152 shellsort
- UVA 10152 - ShellSort
- uva10152 ShellSort
- Uva 10152 ShellSort