排序检索
Ziiyan
这个作者很懒,什么都没留下…
展开
-
UVA - 10785 The Mad Numerologist
题目大意:每个字母有一个权值,给定一个长度,构造名字。要求权值最小,奇数位原音,偶数位辅音,且按字母序输出。每个原音最多用 5 次,辅音 21 次。解题思路:按权值顺序存到数组,排序后组合输出。#include<iostream> #include<cstdio>#include<string.h>#include<stdlib.h>#include<cmath>using namespa原创 2016-07-10 22:36:56 · 171 阅读 · 0 评论 -
UVA - 156 Ananagrams
题目大意:输入一些单词,按字典序顺序输出无视大小写及字母顺序后,只出现一次的单词。如 STOP、SOPT、spTO 算重复出现。解题思路:保留输入单词,把输入的单词化为小写后对字符串排序,这时候出现字母个数相同的单词会被排成一样,然后遍历查找是否有相同单词,没有的话把对应原单词存于一个二维数组中,对二维数组排序后输出。#include<iostream> #include<cstdio>#inc原创 2016-07-09 18:29:53 · 231 阅读 · 0 评论 -
UVA - 299 Train Swapping
题目大意:交换相邻车厢使其最终编号从小到大排列,求要交换机次。解题思路:冒泡排序加个统计次数的变量。#include<iostream> #include<cstdio>#include<string.h>#include<stdlib.h>#include<cmath>using namespace std;int num[100];int main() { int N;原创 2016-07-09 18:29:31 · 188 阅读 · 0 评论 -
UVA - 152 Tree's a Crowd
题目大意:输入一系列三维的点,统计与最近的点距离分别为 0~1、1~2、2~3……8~9 的点的个数。解题思路:计算距离,然后判断距离在哪个范围对应 ++,记得最后在最小的距离里 +1。#include<iostream> #include<cstdio>#include<string.h>#include<stdlib.h>#include<cmath>using namespace s原创 2016-07-09 18:29:07 · 181 阅读 · 0 评论 -
UVA - 123 Searching Quickly
题目大意:给一些需要忽视的单词和一些标题,除了这些需要忽视的单词外,剩下的单词都是关键词。根据关键词排序,输出标题。多个关键词则输出多次,输出时关键词大写,其余字母小写。解题思路:用一个结构题储存每个单词和对应的标题(转换好大小写),按照单词顺序排序后输出,输出时检测单词是否时需要忽视的单词,是则不输出。#include<iostream>#include<cstdio>#include<cst原创 2016-07-19 21:25:20 · 278 阅读 · 0 评论 -
UVA - 340 Master-Mind Hints
题目大意:几 A 几 B 问题。第一行为密码。接下来输入的几行分别与密码相比,求位置相同且数字相同的有几个,数字相同而位置不同的有几个,每个数字只能用一次。 解题思路:读入密码和猜测的数字,一一比较就可以,因为输入不含是 1~9,相等的话就令两个位置为 0,注意保留密码。#include<iostream> #include<cstdio>#include<string.h>#include原创 2016-07-08 16:12:07 · 171 阅读 · 0 评论 -
UVA - 10474 Where is the Marble?
题目大意:输入 N 个数和 Q 个数,求这 Q 个数分别是 N 中从小到大数的第几个,如果不在 N 中,输出 not found。解题思路:排序后判断。数组开太小 RE 了一次。以后开数组还是豪气一点比较好- -#include<iostream> #include<cstdio>#include<string.h>#include<stdlib.h>using namespace std;原创 2016-07-08 16:13:07 · 185 阅读 · 0 评论 -
UVA - 10420 List of Conquests
题目大意:输入一个国家和一个女人的名字,统计每个国家有多少人,按字典序输出。所以名字并没有什么卵用。解题思路:读入国家,排序,遍历,与前一个相同则人数 +1,不同就输出。#include<iostream> #include<cstdio>#include<string.h>#include<stdlib.h>using namespace std;char str[5000][100];原创 2016-07-08 16:12:36 · 169 阅读 · 0 评论 -
UVA - 755 487--3279
题目大意:输入的每行都是一个电话号码,字母可以化为数字,多余的 - 可以删去,输出出现 > 1 次的号码以及出现的次数。解题思路:读入,化为电话,排序,循环与后一个号码比较,出现多于一次的就输出。TLE 了好久,两个 for 循环对比效率太低qwq#include<iostream> #include<cstdio>#include<string.h>#include<stdlib.h>#i原创 2016-07-11 16:36:22 · 238 阅读 · 0 评论 -
UVA - 120 Stacks of Flapjacks
题目大意:给出一个字符串,可以将第 i 个之前的头尾翻转,要求最后结果从小到大,输出翻转过程。解题思路:通过将最大值翻转,翻到第一位,然后翻转最后一位,这样可以将最大的放到最后一位。找出当前未排序的当中的最大值,判断是否位于正确的位置,不是的话将它翻转到第一位(如果已经是第一位就不用),然后翻转到正确位置即可。puts 输出就会 WA 不知道为什么。#include<iostream> #incl原创 2016-07-10 22:37:14 · 179 阅读 · 0 评论 -
UVA - 400 Unix ls
题目大意:将输入的文件名按 ascll 码顺序输出。输出从上到下,从左到右,每一行不能超过 60 个字符,除了最后一列外,每列的格式控制长度为最长的文件名的长度 +2。解题思路:排序输出。输出格式好复杂- -…#include<iostream> #include<cstdio>#include<string.h>#include<stdlib.h>#include<cmath>using原创 2016-07-09 18:30:13 · 154 阅读 · 0 评论