programming-challenges ShellSort (110407) 题解

原创 2015年07月08日 18:20:53

在programming challenges上没有ac,只在UVA上ac了。不过看了看别人的思路,至少思路上是没问题的。

#include <iostream>
#include <sstream>
#include <fstream>
#include <string>
#include <vector>
#include <queue>
#include <map>
#include <set>
#include <stack>
#include <assert.h>
#include <algorithm>
#include <math.h>
#include <ctime>
#include <functional>
#include <string.h>
#include <stdio.h>
#include <numeric>
#include <float.h>

using namespace std;

/*
4.6.7
*/

int main() {
	int TC = 0; cin >> TC;

	for (int tc = 1; tc <= TC; tc++) {
		int num = 0; cin >> num; cin.get();
		vector<string> source, objective;
		for (int i = 0; i < num; i++) {
			string s; getline(cin, s);
			source.push_back(s);
		}
		for (int i = 0; i < num; i++) {
			string s; getline(cin, s);
			objective.push_back(s);
		}

		vector<string> removed; 
		int sourceIndex = num - 1;
		for (int i = num-1; i >= 0; i--) {
			while (sourceIndex >= 0) {
				if (source[sourceIndex] == objective[i]) {
					sourceIndex--;
					break;
				}
				else {
					removed.push_back(source[sourceIndex]);
				}
				sourceIndex--;
			}
			if (sourceIndex < 0) break;
		}

		for (int i = num - 1; i >= 0; i--) {
			for (int j = 0; j < removed.size(); j++) {
				if (objective[i] == removed[j]) {
					cout << removed[j] << endl;
					break;
				}
			}
		}
		cout << endl; 
	}
	return 0; 
}


110407 ShellSort

This solution gets "Wrong answer" result inhttp://www.programming-challenges.com/, but it gets "Acc...
  • JamesDoctor
  • JamesDoctor
  • 2013年10月16日 13:22
  • 301

programming-challenges WERTYU (110301) 题解

#include #include #include #include #include #include #include #include #include #include ...
  • houhouzhe
  • houhouzhe
  • 2015年06月22日 05:38
  • 199

programming-challenges Bicoloring (110901) 题解

#include #include #include #include #include #include #include #include #include #include ...
  • houhouzhe
  • houhouzhe
  • 2015年11月03日 23:00
  • 177

programming-challenges Ones (110504) 题解

这道题也看了参考答案,主要的思路是利用了模运算可以分解的性质,从而避免了运算溢出的问题。思路可以参看:http://www.tuicool.com/articles/rEZriy 代码: ...
  • houhouzhe
  • houhouzhe
  • 2015年07月22日 20:22
  • 202

programming-challenges Chopsticks (111107) 题解

正如提示中所说的,先想明白怎样求没有第三支筷子限制时的解答方式,仍然是递推的思路,利用已经求出的在某支筷子前匹配出多少双筷子的最小代价计算下一支筷子的结果。然后考虑从长的筷子往短的筷子计算,这实在是意...
  • houhouzhe
  • houhouzhe
  • 2015年10月21日 07:52
  • 261

Java排序算法(五)--希尔排序(ShellSort)

希尔排序(插入排序-渐减增量排序diminishing increment sort): 思想:1.将原始数组按照增量分解为多个数组,分别按插入排序调好子序列的顺序; ...
  • y999666
  • y999666
  • 2016年03月21日 10:43
  • 560

programming-challenges Cutting Sticks (111105) 题解

和算法导论中动态规划章节中计算矩阵相乘最小代价是一样的解题思路。稍有的一次ac,所以难度只到2吧。 #include #include #include #include #include ...
  • houhouzhe
  • houhouzhe
  • 2015年10月19日 19:19
  • 234

programming-challenges Ferry Loading (111106) 题解

这道题做得很郁闷,思路很好懂,可是做得时候总是出问题,到现在也不知道最开始那种写法问题在什么地方。 #include #include #include #include #include ...
  • houhouzhe
  • houhouzhe
  • 2015年11月23日 18:03
  • 312

programming-challenges Unidirectional TSP (111104) 题解

http://algorithmist.com/index.php/UVa_116 这里有很好的测试用例。这道题其实只是很直观的迭代。 #include #include #include #...
  • houhouzhe
  • houhouzhe
  • 2015年10月25日 14:08
  • 204

programming-challenges The Tourist Guide (110903) 题解

这片文章讲的思路很清晰。当然,用bfs也是一样可以解决这个问题的。最坑的是每次过不要忘记导游自己也占了一个名额。我就是想了好久都不明白为什么示例的答案是5而不是4,把导游忘了。 http://www...
  • houhouzhe
  • houhouzhe
  • 2015年11月03日 23:34
  • 309
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:programming-challenges ShellSort (110407) 题解
举报原因:
原因补充:

(最多只允许输入30个字)