UVA
文章平均质量分 62
miss_minor
坚持,请你坚持
展开
-
10010 - Where's Waldorf?
题目:10010 - Where's Waldorf?题目大意:在给定的二维字符数组中找给定的字符串的起始位置,寻找方式可以有八个方向(即八个方向都有可能会出现给定的字符串),如果有多个起始位置,选最靠左,靠上的位置;解题思路:定义一个方位数组用来表示八个方向move【8】【2】,然后在二维字符数组中找到与给定字符串的头个字符相同的位置,然后从这里开始八个方向的原创 2013-12-06 14:33:02 · 513 阅读 · 0 评论 -
10878 - Decode the tape
题目:10878 - Decode the tape解题思路:发现规律:‘|’之后的空格代表0,o代表1,组成一个二进制数,即为对应的字母的ASCALL码;注意:如果开数值,数组的行数要够大,不要让数组越界;#include#include#include const int N = 15;const int M = 10000;char st原创 2013-12-07 16:39:16 · 555 阅读 · 0 评论 -
537 - Artificial Intelligence?
题目:537 - Artificial Intelligence?题目大意:通过题目字符串中的信息,计算未出现的I或P或U(m=0.001,k=1000,M=1000000)解题思路:将等号与单位‘W’,‘A’,‘V’,之间的数字或是字符提取出来放到一个数组里,然后判断提取出来的是否有换算单位,有的话进行换算,最后在计算没给的另一个(P,U,I)的大小.原创 2013-12-06 21:49:37 · 778 阅读 · 0 评论 -
409 - Excuses, Excuses!
题目:409 - Excuses, Excuses!题目大意:找关键词出现最多的excuse;如果一样多就将excuse按顺序输出;解题思路:每个关键词都在每个句子中搜索一遍,找到就在句子的count【i】++;注意句子中和关键字一样的字符串前后必须不是字母,例如关键字是key 句子:my keyjie 这样是不对的不算出现。第一种:#include#incl原创 2013-12-07 13:23:43 · 582 阅读 · 0 评论 -
10815 - Andy's First Dictionary
题目:10815 - Andy's First Dictionary题目大意:将题目所给的text 里的单词按ASCALL码的顺序排序输出;解题思路:输入一个字符先转换成小写的,再判断是否为字母,是字母的话就存在word【i】里面的数组里(i代表单词的下标),下一个如果不是字母而且前一个是字母就认为之前存储的是单词,则加上‘\0’;最后排序用到sort(char *原创 2013-12-08 14:18:02 · 545 阅读 · 0 评论 -
644 - Immediate Decodability
题目:644 - Immediate Decodability题目大意:给出一组二进制数,如果这一组的每一个二进制数都不是其他的任何一个的前缀,则这一组数据是is immediately decodable,否则不是;解题思路,判断strstr(char * x,char *y)== x? 是则y是x的前缀,否则则不是;注意:每一个二进制数要和其余的二进制数都比较一遍;原创 2013-12-08 16:10:58 · 637 阅读 · 0 评论 -
10115 - Automatic Editing
题目:10115 - Automatic Editing题目大意:将给定的字符串里出现的上面替换规则中相对前面;;的字符串,替换成规则中的字符串相应字符串,然后继续重头开始从头开始判断,有就替换,没有就换下一个替换规则;注意替换规则的字符串是按顺序来替换给定的字符串,只有当前一个字符串已经找不到相对应要被替换的字符时,下一个替换规则才开始;注意里面的用来替换的字符串可能为空;记得要原创 2013-12-09 23:33:39 · 688 阅读 · 0 评论 -
10106 - Product
题目:10106 - Product题目大意:高精度数乘法注意:每次输入的那两个结构体内的数组要初始化为零,数组不能开太小;#include#include#includeusing namespace std;const int N = 16255; class begin {public: int len , s[N]; begin() { le原创 2013-12-12 18:51:09 · 565 阅读 · 0 评论 -
465 - Overflow
题目:465 - Overflow题目大意: 高精度数的加法和乘法 ,判断输入的两个数和结果是超过int型的范围;解题思路:用到atof 将字符串转换成浮点数;还有begin 高精度运算类模板;#include#include#include#include using namespace std;const int N = 10000;struct b原创 2013-12-12 20:42:18 · 630 阅读 · 0 评论 -
uva--401 Palindromes
题目:Palindromes解题思路:判断是否为回文:判断字符串前n/2的第i个字符与第n-1-i个字符是否相同,都相同就是回文;判断是否为mirrored,判断字符串前n/2字符的第n-1-i个字符是否与第i个的镜像字符相同,都相同则是mirrored;要注意每个输出后面都要再打印一行空白行;#include#includeconst int N = 50;char *s1 = "A原创 2013-12-03 20:58:32 · 641 阅读 · 0 评论 -
10071 - Back to High School Physics
10071 - Back to High School Physics#includeusing namespace std;int main(){ int velocity,time ; while(cin>>velocity&&cin>>time) { cout<<2*time*velocity<<endl; } return 0;}原创 2013-12-03 18:53:57 · 530 阅读 · 0 评论 -
10361 - Automatic Poetry
题目:10361 - Automatic Poetry题目大意:输入的字符串只有小写字母或是空格,将输入的第一字符串s1s3s5,去掉原样输出;第二字符串t1...,将,,,用s4s3s2s5代替;解题思路:将输入的字符以分解成s1,s2,s3,s4,s5;第一个输出字符串顺序:s1s2s3s4s5;第二个:t1s4s3s2s5;分解方法有多种:比较原创 2013-12-06 19:35:25 · 606 阅读 · 0 评论 -
120 - Stacks of Flapjacks
题目:120 - Stacks of Flapjacks题目大意:将栈里的数依靠队列实现从栈顶到栈底的数从小到大解题思路:从栈底往上判断看依次是否为相对最大的数,是就不需要靠队列来翻转,不是的话就看这个相对大的数是否在栈顶,是的话就用队列反转,并记下翻转的位置,如果不在栈顶,就把这个数反转到栈顶,在进行上述的那个操作,知道所有的数都从小到大的排列在栈里面。注意:原创 2013-12-28 23:54:11 · 519 阅读 · 0 评论 -
156 - Ananagrams
题目:156 - Ananagrams题目:找出单词重排序后和别的单词都不一样的单词解题思路:只要将每个单词都按从小到大的排序成新的单词#include#include#includeconst int N = 1005;const int M = 25;char ch, word[N][M], w[N][M], tmp[M];int t = 0,原创 2013-12-30 16:44:03 · 551 阅读 · 0 评论 -
400 - Unix ls
题目:400 - Unix ls题目大意:将给的字符串排序,然后要求最多的列,最少的行的格式输出, 并且要对齐, 对齐的长度是字符串最长的那个长度+2。解题思路:用sort(),然后控制一下输出的顺序,一行一行的输出。注意:当心程序里有除以0的程序;#include#include#includeconst int N = 105;const int原创 2013-12-30 19:26:59 · 559 阅读 · 0 评论 -
123 - Searching Quickly
题目:123 - Searching Quickly题目大意:要求将输入的title里的单词,除了他明确声明不要的可以忽视的,其余的作为关键字,找每个句子中这个关键字的位置,整个句子输出,将关键字标为大写,其余的字符小写。还有输出要关键字的字典序输出,相同关键字按碰见位置先后。解题思路:将titles 转换成小写的,分理处关键字单词。关键字qsort()排列成字典序,便于后面输出时的先后控原创 2013-12-30 22:48:35 · 611 阅读 · 0 评论 -
10194 - Football (aka Soccer)
题目:10194 - Football (aka Soccer)题目大意:给你一些比赛记录,然后让你依据要求这些排序:Most points earned. (得分胜利3,平局1,失败0)Most wins.Most goal difference (i.e. goals scored - goals against)Most goals scored.Less games p原创 2014-01-01 17:28:52 · 666 阅读 · 0 评论 -
755 - 487--3279
题目:755 - 487--3279题目大意:找相同的电话号码解题思路:将字母转换成数字,进行排序,最后统计输出。注意用scanf(“%d‘")后要接受一下数字后的回车,再接受空白行,后面的也一样。还有字符类型的数据大小和数字不一样,要进行转换(加减’0‘)。如果和我一样用 字符 - ’A‘的要注意,没有Q,所以到R之后的字符减了A还要减一。#include#原创 2014-01-01 21:38:19 · 577 阅读 · 0 评论 -
113 - Power of Cryptography
题目:113 - Power of Cryptography题目大意:求k,k^n = p;解题思路:k = p ^ (1/n);并且double的上限是1.7E+308,p的范围是1.0E + 101.#include#includeint main() { double p, n; while (scanf("%lf%lf", &n, &p) != E原创 2014-01-02 14:40:09 · 467 阅读 · 0 评论 -
748 - Exponentiation
题目:748 - Exponentiation题目大意: 高精度数乘方解题思路: 先记录小数点的位置,然后去掉前导0,和后面不需要的0,注意数组大小不要开得正好,否则会出现一些不可预知的错误;#include#include#includeusing namespace std;const int N = 10000;char s[10], s1[1原创 2013-12-18 20:48:45 · 543 阅读 · 0 评论 -
10785 - The Mad Numerologist
题目:10785 - The Mad Numerologist题目大意:就是给定字符串长度,要求要找到一个总值最小,并且奇数位,偶数位按字典序的字符串。解题思路:要求值最小,就按照题目给的各个字母的值,给出一从左到右值一次增大的常量字符串,元音辅音分开两个字符串。辅音不能重复超过5次,元音不能重复超过21次。但是值小的字母,字典序不一定也排前,所以要奇数位,偶数位分别按原创 2014-01-01 19:35:18 · 617 阅读 · 0 评论 -
10161 - Ant on a Chessboard
题目:10161 - Ant on a Chessboard题目大意:求出蚂蚁经过t秒后的位置。解题思路:发现位置的规律,第i行,第i列的相交夹的数可以确定, ((i - 1)^2 + 1 + i ^2) / 2。#include#includeint main() { int t, x, y, i; while(scanf("%d", &t)原创 2014-01-02 23:00:07 · 524 阅读 · 0 评论 -
253 - Cube painting
题目:253 - Cube painting题目大意:每个面用一个字符表示,给出每个面(字符)输出顺序看这两个六面体是否为同一个。解题思路:如果旋转立方体,会发现位置1 6, 2 5, 3,4上的字符一定还会在相对应的位置出现,例如ab出现在16,那么他们会出现在25,或34,顺序不要求。所以只要判断是否这些位置上的字符会再次出现在相对应的位置上就可以判断是否是同一个立方体原创 2014-01-04 23:05:41 · 595 阅读 · 0 评论 -
621 - Secret Research
题目:621 - Secret Research题目大意:求给的数字属于哪种类型。注意:不要被题目的样例误导以为所有的S只有‘1’, ‘4’, ‘78’这三个数,S代表的是未知量。#include#includeint t;const int N = 100000;char s[N];int main() { scanf("%d", &t); w原创 2014-01-04 23:57:31 · 590 阅读 · 0 评论 -
340 - Master-Mind Hints
340 - Master-Mind Hints题目大意:计算列相同的数相同的个数,和不同的列相同的数,注意输出格式;解题思路:计算相同的数的对数,减去相同列的数相同的对数,剩下就是不同列的相同数的对数。#include#includeconst int N = 1005;int s[N], s1[N];int n, d[N], t = 0;int c原创 2013-12-20 21:35:15 · 558 阅读 · 0 评论 -
10420 - List of Conquests
题目:10420 - List of Conquests题目大意:计算有多少个女人属于同一个国家,输出按字典序。解题思路:只需将国家名保存就可以了,之后重小到大排列,再统计重复的国家的个数,最后按顺序输出每一个不同的国家名,并给出个数。#include#include#includeusing namespace std;const int N = 80;const int原创 2013-12-22 20:57:02 · 561 阅读 · 0 评论 -
10474 - Where is the Marble?
题目:10474 - Where is the Marble?题目大意:从小到大排序后找到指定数的位置。解题思路:用sort()。#include#includeusing namespace std;const int N = 10005;int t, n, q, s1[N], s[N];int cmp(const int a, const int b原创 2013-12-23 20:12:17 · 523 阅读 · 0 评论 -
152 - Tree's a Crowd
题目:152 - Tree's a Crowd题目大意:找两颗树之间最近的距离,判断有多少的距离在0 - 10 之间;解题思路:遍历,两两比较,注意要判断距离是否小于10 , 小于才加加。#include#include#include#includeusing namespace std;const int N = 5005;int t, s[15];int原创 2013-12-25 22:24:29 · 549 阅读 · 0 评论 -
299 - Train Swapping
题目:299 - Train Swapping 题目大意:将火车车厢号按从小到大排序,只有相邻的两节车厢才能交换,计算最少的交换次数。解题思路:泡沫排序法,每次都将剩余的无序区中的最小元素放到无序区的第一个位置,而且是相邻的数两两比较,进行调整。#include#includeconst int N = 55;int t, train[N], coun原创 2013-12-26 15:15:52 · 588 阅读 · 0 评论 -
10110 - Light, more light
题目:10110 - Light, more light题目大意:问一条路上有n盏灯,总共走n次,第i趟,把能被i整除的灯切换一下状态(开变成关,关变成开),最开始是关着的。求最后一盏灯是开还是关。解题思路:看这个数是否为平方数,是的话就说明他的一个因数开了没有另一个对应的因数在将这盏灯关上,所以最后这盏灯就是开着的,否则就是关着的。如果一个个的去找会超时。(减小为一半都会原创 2014-01-21 12:42:08 · 649 阅读 · 0 评论 -
568 - Just the Facts
题目:568 - Just the Facts题目大意:去n!的低位不为零的第一个数。解题思路:每次相乘把末尾的0去掉,但是为了防止末尾为0需要用到前面的数,就需要保留几位数。因为int型可以支持99999 * 10000 的数据大小,所以可以保留后五位数。#includeint n;int main() { while(scanf("%d", &n原创 2014-01-21 13:50:15 · 616 阅读 · 0 评论 -
408 - Uniform Generator
题目:408 - Uniform Generator题目大意:就是给你一个增量a和模数b,问你这个数能根据上面给的公式产生0 ~b-1的数吗?解题思路:就是问给出的a 和 b 除1以外还有公因子吗?有的话不能产生上述的数。没有就可以。因为一旦有公因数, 从0开始加a,因为有公因子n(n> 1),这样的话,a* n == b,说明从0 开始总会到b,这样在模b,余数就又是0.原创 2014-01-21 17:35:22 · 582 阅读 · 0 评论 -
550 - Multiplying by Rotation
题目:550 - Multiplying by Rotation#includeint d, n, m;int main() { int a , y, k; while(scanf("%d %d %d", &d, &n, &m) != EOF) { a = 0; y = n; k = (y * m + a); y = k % d ; a = k / d;原创 2014-01-21 15:54:17 · 646 阅读 · 0 评论 -
10061 - How many zero's and how many digits ?
题目:10061 - How many zero's and how many digits ?题目大意:求N!在bas进制下的位数和后面的0;解题思路:分两步,一步是求位数,在十进制的情况下:下取整log10(n) + 1,就是求数n的位数;例如log10(10)是1,但是十是两位数,所以加1。因为log10(a*b)= log10(a)+log10(b);所以求N!的位数可以是原创 2014-01-22 13:11:46 · 829 阅读 · 0 评论 -
579 - ClockHands
题目:579 - ClockHands题目大意:求指针分针所成的夹角(取最小)。解题思路:将时针走的距离减去分针走的距离,最后取绝对值,再看是否去最小的那个。当走一圈后距离是0,所以时针要%12.#includeint a, b;int main() { while(scanf("%d:%d", &a, &b) , a || b) { doubl原创 2014-01-22 17:52:35 · 631 阅读 · 0 评论 -
10112 - Myacm Triangles
题目:10112 - Myacm Triangles题目大意:求给定的点中围成的三角形面积最大且不包括其它点在区间的三个点。解题思路:求三角形的面积:公式:S = 0.5 × |(y3 - y1)(x2 - x1) - (y2 - y1)(x3 - x1)|.判断一个点是否在以围成的三角形内,看这个点与三条边形成的三角形的面积之和是否等于原来三角形的面积。是就在三家原创 2014-01-23 14:13:08 · 564 阅读 · 0 评论 -
10250 - The Other Two Trees
题目:10250 - The Other Two Trees题目大意:就是给一片土地,对边相等,然后各有一个以相邻一条边为边的邻接正方形,这样的正方形中心有一棵树,题目给这两个相对树的坐标,求另外两个树的坐标。#include #include int main() { double x1,y1,x2,y2; double ax1, ay1, ax2,原创 2014-01-22 21:31:21 · 642 阅读 · 0 评论 -
10387 - Billiard
题目:10387 - Billiard题目大意:一个球放在桌子长为a宽为b的正中间,球碰到水平边n次,垂直边m次,求经过s秒后反弹回到原点的球的速度,和速度的初始角度。解题思路:要注意到碰到一次水平边就垂直方向走过b,碰到一次垂直边就水平方向走过a。所以球走过的长度,利用勾股定理可以求出,这样速度也出来了。角度的话,因为对边和邻边知道了,可以用反正切求出角度。公式:A原创 2014-01-22 15:07:31 · 621 阅读 · 0 评论 -
10050 - Hartals
题目:10050 - Hartals题目大意:给出每个联盟的罢工周期,给出要计算的天数,求总共罢工多少天,星期五,六为休息日。解题思路:每一个都做一个标志,看有没有罢工,最后查找一下除了星期五六,有多少天罢工。#include#includeconst int N = 3655;int t, n, p, s[N], c[N];int main() {原创 2014-01-24 21:43:12 · 658 阅读 · 0 评论 -
133 - The Dole Queue
题目:133 - The Dole Queue题目大意:N个数组成的环,然后分别逆时针的走K个,顺时针的走m个,选中的数就剔除,不在下次走的范围内。打印出提出的顺序。解题思路:用数组摸拟。每次走都 p2= (p2 - 1 + n) % n,防止 减到负数。#include#includeconst int N = 25;int n, k, m;bool s[N原创 2014-01-25 20:47:45 · 621 阅读 · 0 评论