Sorting/Searching
weiye1234
这个作者很懒,什么都没留下…
展开
-
uva - 123 - Searching Quickly
题目大意: 输入一系列要被忽视的单词和题目,题目中除了要被忽视的单词外其他的都是关键字。把关键字忽略大小写按字典序排序。再把题目按照关键字的字典序输出。有几个关键字输出几次(看题目中样例)。输出的时候那个关键字大写,其他都小写。 解题思路: 1、输入转换大小写提取关键字。 2、关键字排序。 3、在题目中搜索关键字。 4、按照关键字大写,其他小写输出。 反思: 1、刚原创 2014-01-28 21:24:47 · 869 阅读 · 0 评论 -
uva - 10905 - Children's Game(贪心,qsort排序)
题意:输入几个数字,这几个数字按照不同顺序可以组成一个大数,输出这个大数。 方法:刚开始按照字典序排列果断跪了,90和9这样的会出错,应该9在前,字典序9在后,看了别人的博客知道了一种方法,比较909和990,return回去就行,详见代码。 #include #include #include #include #include #include #include #inclu原创 2014-02-04 20:57:44 · 943 阅读 · 0 评论 -
uva - 120 - Stacks of Flapjacks
//#define Local #include #include #include #include using namespace std; #define MAX 1000 struct Array { int num[MAX]; int len; }; void Change (Array *flap, Array *sorted, char s[]) { int原创 2014-02-02 22:21:44 · 720 阅读 · 0 评论 -
uva - 152 - Tree's a Crowd
#define Local #include #include #include #include #include #include using namespace std; #define MAX 10000 #define INF 2147483647 struct Tree { int x; int y; int z; }; void Input(Tree tree[原创 2014-02-02 22:18:53 · 663 阅读 · 0 评论 -
uva - 340 - Master-Mind Hints
//#define Local #include #include #include using namespace std; #define MAX 2000+10 struct Array { int num[MAX]; int len; }; void change (Array *a, char s[]) { int i = 0, j = 0; for (i = 0;原创 2014-02-02 22:12:25 · 646 阅读 · 0 评论 -
uva - 11039 - Building designing(qsort快排)
题意:水题,有那个绝对值各不相同的非0整数,选出尽量多的数排成一个序列,使得正负号交替且绝对值递增。输出最长序列长度。 方法:先用qsort按照绝对值递增排序,然后判断数组中后一个位置的数是不是和这个数符号相反,是的话加count加1。注意1.count开始为1;2.当n个数全为正或者全为负时输出确实应该是1,当时不确定,AC后确定了。 #define Local #include原创 2014-02-03 21:13:41 · 602 阅读 · 0 评论 -
uva - 10420 - List of Conquests
//#define Local #include #include #include using namespace std; #define MAX 100 struct country { char name[MAX]; int len; }; void GetCountry (char sub[], char s[]) { int i = 0; while (s[i]原创 2014-02-02 22:15:11 · 710 阅读 · 0 评论 -
uva - 299 - Train Swapping
#define Local #define Local #include #include #include using namespace std; #define MAX 150 #define INT_MAX 2147483647 void swap (int *a, int *b) { int temp; temp = *a; *a = *b; *b = temp; }原创 2014-02-02 22:20:23 · 785 阅读 · 0 评论 -
uva - 10474 - Where is the Marble?
//#define Local #include #include using namespace std; struct Array { int num[10001]; int len; }; void Sort (Array *hoodle) { int i = 0, j = 0, temp = 0; for (i = 0; i < (*hoodle).len; i++)原创 2014-02-02 22:16:22 · 647 阅读 · 0 评论 -
uva - 10881 - Piotr's Ants(等效变换,排序)
题意:一根长为L厘米的木棍上有n只蚂蚁,每只蚂蚁要么向左爬,要么向右爬,速度为1厘米/秒,当相撞时同时掉头(掉头时间忽略不计),给出初始位置和朝向,计算T秒后的位置和朝向。 方法:和另一个蚂蚁的题目有点像,蚂蚁相撞等于对穿而过,问题在于那个蚂蚁不是蚂蚁了,所以问题就变为分清谁是谁的问题,详见《算训》P9。 注意:写的这个程序改写了刘大大的某些部分,例如重载了‘ #define Local #原创 2014-02-13 11:46:05 · 950 阅读 · 0 评论