刷题
ZeroLH00
这个作者很懒,什么都没留下…
展开
-
UVA 10152 ShellSort
UVA 10152 ShellSort题目大意:输入m个名字按一定顺序排列,再用不同的排列顺序输入一次,一个名字可以从当前位置放到首个,用最少的操作数将第一个排列顺序改成第二个排列顺序解题思路:因为是可以放到首个,所以俩边序列从最后一个开始比较,不相同的话序列2停在原处,序列1向前进一位,直到序列1到达首个时将第二个序列未比较的名字输出#include <stdio.h>#include <str原创 2016-07-22 16:16:03 · 394 阅读 · 0 评论 -
UVA 133-The Dole Queue
UVA 133-The Dole Queue题目大意:n个人编号1~n,输出从1开始顺时针数第k个和从10开始逆时针数第m个,输出的数字删去,直到全部数字都输出后结束,当顺时针和逆时针访问到同一个时只输出一个。解题思路:用二维数组模拟,表示出左边和右边的数#include <stdio.h>#include <iostream>using namespace std;int l[25][3];原创 2016-07-22 14:59:33 · 314 阅读 · 0 评论 -
UVA 673-Parentheses Balance
UVA 673-Parentheses Balance题目大意:1 A =[]或()算正确 2 A为BC(B,C都是正确的话)算正确 3 A = [M]或(M)(M为正确的话)算正确解题思路:用栈存([,遇到)]相消#include <stdio.h>#include <iostream>#include <stack>using namespace std;int main() {原创 2016-07-22 17:13:41 · 457 阅读 · 0 评论 -
UVA 442-Matrix Chain Multiplication
UVA 442-Matrix Chain Multiplication题目大意:矩阵相乘,求乘法次数解题思路:用栈存,遇到‘)’时将栈顶俩位俩乘后存入,并计算乘法次数#include <stdio.h>#include <iostream>#include <string.h>using namespace std;int main() { int n; int a[100]原创 2016-07-26 21:01:36 · 263 阅读 · 0 评论 -
UVA 11111-Generalized Matrioshkas
UVA 11111-Generalized Matrioshkas题目大意:大娃娃套小娃娃,-n与n搭配解题思路:负数用栈存,正数看是否与栈顶数字相同并判断小娃娃大小和是否超过大娃娃#include <stdio.h>#include <iostream>#include <string.h>#include <stack>using namespace std;int main() {原创 2016-07-26 21:07:04 · 273 阅读 · 0 评论 -
UVA 748-Exponentiation
UVA 748-Exponentiation题目大意:算含小数点的数的n次方解题思路:先把小数点去掉,然后大位数乘法#include <stdio.h>#include <string.h>#include <stdlib.h>#include <iostream>using namespace std;void mul(char* a, char* b) { int l1 = s原创 2016-07-26 21:10:49 · 337 阅读 · 0 评论 -
CodeForces 560A-Currency System in Geraldion
CodeForces 560A-Currency System in Geraldion题目大意:看钱是否能凑成全部数字解题思路:只有有1的情况下才能凑出全部数字。。。。。#include <stdio.h>#include <iostream>using namespace std;int main() { int n; cin >> n; int x; in原创 2016-07-26 21:15:32 · 362 阅读 · 0 评论 -
UVALive 3266 Tian Ji -- The Horse Racing
UVALive 3266 Tian Ji – The Horse Racing题目大意:田忌赛马,取最优方案解题思路:大马比能赢就赢,赢不了让小马送#include <stdio.h>#include <iostream>#include <stdlib.h>using namespace std;int cmd(const void *a, const void *b) { r原创 2016-07-26 21:18:16 · 266 阅读 · 0 评论 -
HDU 5319-Painter
HDU 5319-Painter题目大意:R要\着画,B要/着画,G是R和B的叠加,问最少几画能完成图解题思路:遍历模拟#include <stdio.h>#include <iostream>#include <string.h>using namespace std;int main() { int n; int m; cin >> n; while(n-原创 2016-07-26 21:22:13 · 328 阅读 · 0 评论 -
CodeForces 560C Gerald's Hexagon
CodeForces 560C Gerald’s Hexagon题目大意:给出六边形边长,求三角形个数。解题思路:先把六边形补成一个大三角形再切割#include <stdio.h>#include <iostream>using namespace std;int main() { int a[6]; for(int i = 0; i < 6; i++) ci原创 2016-07-27 09:03:19 · 301 阅读 · 0 评论 -
UVA 1149-Bin Packing
UVA 1149-Bin Packing题目大意:给出物体个数和套子大小,一个套最多放俩个物体,求最少要多少套子解题思路:排序后,最大与最小相加,看是否小于套子大小#include <stdio.h>#include <iostream>using namespace std;int cmd(const void *a, const void *b) { return *(int*)a原创 2016-07-27 09:11:44 · 331 阅读 · 0 评论 -
UVA 11234-Expressions
UVA 11234-Expressions题目大意:小写字母代表数字,大写字母代表运算,将用栈的方式存储运算式改成用队列存储的运算式解题思路:用栈建数,用队列层次遍历数#include <stdio.h>#include <stack>#include <queue>#include <iostream>using namespace std;class tree { public原创 2016-07-27 11:08:07 · 289 阅读 · 0 评论 -
UVA 540-Team Queue
UVA 540-Team Queue题目大意:编号分组然后排队,ENQUEUE x — 将x编号插入队列末,如果有同组成员在队列中则插在同组成员后面 • DEQUEUE — 队首出列,并输出 • STOP — 结束样例解题思路:设队列数组,插队时查看队列数组中是否有成员。#include <iostream>#include <queue>#include <string.h>#incl原创 2016-07-27 12:16:33 · 276 阅读 · 0 评论 -
UVA 10050-Hartals
UVA 10050-Hartals题目大意:输入样例数,输入连续天数,输入几组工人,输入工人罢工时间(在这个时间或时间倍数上工人可以罢工),周六周日罢工也没用,所以不罢工。输出在连续天数内的罢工天数解题思路:模拟,当天数n+1%7==0或者天数n%7 == 0时为周六周日#include <stdio.h>#include <iostream>using namespace std;int m原创 2016-07-27 15:49:30 · 334 阅读 · 0 评论 -
UVA 1585-Score
题目大意: 一个只有‘O’和‘X’的一个字符串 每有一个’O’计数1 多个’O’ 计数 1+2+3=6 X为0并中断累加 求该字符串计数总数解题思路: 计数s,初始值为0,遇O加1,遇X清零#include <stdio.h>#include <iostream>#include <string.h>using namespace std;int main() {int i,n,m,j,s原创 2016-07-18 11:47:57 · 319 阅读 · 0 评论 -
UVA 1225-Digit Counting
UVA 1225-Digit Counting题目大意。输入一个数 N 求 1~N 中 各有几个0~9 的数字解题思路:循环取整求余#include<stdio.h>#include<iostream>using namespace std;int main(){ int i,n,j,m,x,c,s[10]; cin>>n; for(i=0;i<n;i++) { for(j=0;j原创 2016-07-18 14:19:28 · 360 阅读 · 0 评论 -
UVA 455-Periodic Strings
UVA 455-Periodic Strings题目大意:一个字符串可以由某个长度为 k 的字符串重复得到,求最小周期 k 。如 abcabcabc 的周期为 3。解题思路:找出与最后一个字符相同的字符,找出重复的字符串#include <stdio.h>#include <string.h>#include <iostream>using namespace std;int main(){原创 2016-07-18 14:21:18 · 334 阅读 · 0 评论 -
UVA 1587-Box
UVA 1587-Box题目大意: 给出六个面的长和宽,判断是否能构成长方体解题思路: 先将每个面长宽排序,再对6个面排序,按照长从大到小,如果长相同,则去宽从大到小#include <stdio.h>#include <iostream>using namespace std;int main() { int a[6][2]; int i, t, m, j; whi原创 2016-07-18 14:23:40 · 380 阅读 · 0 评论 -
UVA 1368-DNA Consensus String
UVA 1368-DNA Consensus String题目大意: 给几个字符串,写出一个与这几个字符串差别最小的字符串解题思路: dna每一位都取本组出现次数最多的碱基#include <stdio.h>#include <string.h>#include <iostream>using namespace std;int main() { int x, m, n, i, j,原创 2016-07-18 14:25:07 · 304 阅读 · 0 评论 -
UVA 10340-ALL in ALL
UVA 10340-ALL in ALL题目大意: 判断字符串a是不是字符串b的子串解题思路: 查找a中的字符是否按顺序在b中出现#include<iostream>#include<string.h>#include<cstdio>using namespace std;char a[100005],b[100005];int main() { while(scanf("%s%s原创 2016-07-18 14:31:06 · 317 阅读 · 0 评论 -
UVA 232-Crossword Answers
UVA 232-Crossword Answers题目大意: 给个二维数组表,*为分割,分别横向和纵向输出解题思路:遍历编号,非首字母编为0#include <stdio.h>#include <iostream>#include <string.h>using namespace std;int main() { int m, n; int t = 0; char原创 2016-07-18 14:32:58 · 346 阅读 · 0 评论 -
UVA 1588-Kickdown
UVA 1588-Kickdown题目大意: 一个容器高度为3,俩个成员都是1或2的字符串,判断容器长度最短多少可以装下俩个字符串解题思路: 从字符串a的最后一个字符与字符串b的第一个字符开始,依次比较,找出最优解 #include <stdio.h>#include <iostream>#include <string.h>using namespace std;int main() {原创 2016-07-18 14:34:17 · 328 阅读 · 0 评论 -
雷霆战机
雷霆战机题目大意:输入4个阶段所需要的经验值,和n个经验球,升阶段时经验不能累加,试着用最少的球升到满级。解题思路:直接模拟#include <stdio.h>#include <iostream>#include <stdlib.h>using namespace std;int cmd(const void *a, const void *b) { return (*(int*)原创 2016-07-18 14:41:38 · 849 阅读 · 0 评论 -
HDU 4730-We Love MOE Girls
HDU 4730-We Love MOE Girls题目大意:输入字符串,以desu结尾,将desk改成nanodesu,否者直接加上nanodesu解题思路:用strcat函数解决#include <stdio.h>#include <string.h>#include <iostream>using namespace std;int main() { int n; in原创 2016-07-18 14:43:03 · 346 阅读 · 0 评论 -
CodeForces 567B-Berland National Library
CodeForces 567B-Berland National Library题目大意:+代表有人进入,-代表有人出来,后面数字为编号,有的人可能一开始就在屋子里,写出在屋子里的最大容量至少为多少解题思路:模拟,用o算现有人数,用max记录最大人数,加入出现未出现的编号出来就让max+1。#include <stdio.h>#include <string.h>#include <math.h原创 2016-07-18 14:44:13 · 342 阅读 · 0 评论 -
CodeForces 569A-Music
CodeForces 569A-Music题目大意:输入音乐总长度T,以及缓冲到s时开始播放,以及单位时间下载的音乐长度为(q-1)/q,求需要播放几次才能下完。解题思路:t*(q-1)/q + s = t(小t为经历的时间)#include <stdio.h>#include <iostream>using namespace std;int main() { long long i原创 2016-07-18 14:45:14 · 354 阅读 · 0 评论 -
HDU 1021-Fibonacci Again
HDU 1021-Fibonacci Again题目大意:F(0) = 7, F(1) = 11, F(n) = F(n-1) + F(n-2) (n>=2).求F(n)是不是能被 3 整除解题思路:(a+b)%c = (a%c + b%c)%c#include <stdio.h>#include <iostream>using namespace std;int main() { l原创 2016-07-18 14:46:39 · 296 阅读 · 0 评论 -
UVA 1586-Molar Mass
UVA 1586-Molar Mass题目大意: 给个含H,O,N,C的化合物,算出摩尔质量解题思路: 遍历一下,记录字母与之后出现的数字,计算即可#include <stdio.h>#include <string.h>#include <iostream>using namespace std;int main() { int n; cin >> n; while原创 2016-07-18 14:53:47 · 296 阅读 · 0 评论 -
UVA 401-Palindromes
UVA 401-Palindromes题目大意: 给个字符串,判断是否回文或者镜面回文解题思路: 先判断是否回文再判断是否镜面回文#include <stdio.h>#include <string.h>#include <iostream>using namespace std;void swap(char *a) { switch(*a) { case 'A':原创 2016-07-18 14:55:20 · 344 阅读 · 0 评论 -
UVA 10361-Automatic Poetry
UVA 10361-Automatic Poetry题目大意: 给俩个字符串,第一个含有俩次<>,第二个以…结尾,输出第一条将第一个字符串的<>去掉,第二条将第二个字符串的…改为规定规律的字符串解题思路: 边输入边输出边判断#include <stdio.h>#include <string.h>#include <iostream>using namespace std;int main(原创 2016-07-18 14:59:43 · 289 阅读 · 0 评论 -
UVA 537-Artificial Intelligence?
UVA 537-Artificial Intelligence?题目大意:输入一个问题,会给出P/U/I之中俩个的值,输出算出问题没给出的值利用公式P=I*U。解题思路:读字符串找出等号,然后获取值计算#include <stdio.h>#include <string.h>#include <iostream>using namespace std;int main() { int原创 2016-07-18 15:02:22 · 369 阅读 · 0 评论 -
UVA 10878-Decode the tape
UVA 10878-Decode the tape题目大意:给出图中磁带,判断加密规则解题思路:每一行是一个二进制数,o为1,空格为0#include <stdio.h>#include <string.h>#include <iostream>using namespace std;int main() { char a[20]; int y[] = {0, 0, 64,原创 2016-07-18 15:03:58 · 284 阅读 · 0 评论 -
UVA 10115-Automatic Editing
UVA 10115-Automatic Editing#题目大意:替换字符,直到字符串找不到对应子字符串后输出解题思路:利用strcat和strcpy操作#include <stdio.h>#include <string.h>#include <iostream>using namespace std;int find(char *a, char *b, char *c, char *d)原创 2016-07-18 15:05:17 · 352 阅读 · 0 评论 -
UVA 375-Inscribed Circles and Isosceles Triangles#
UVA 375-Inscribed Circles and Isosceles Triangles题目大意:输入等腰三角形的底和高,画出内切圆,然后画切于新的小三角形的内切圆直到内切圆半径小于0.000001时求出周长和解题思路:勾股定理求腰然后切割三角形的面积和等于大三角形面积求出半径,相似三角形求下一个半径#include <stdio.h>#include <iostream>#inclu原创 2016-07-28 16:08:22 · 296 阅读 · 0 评论 -
UVA 340-Master-Mind Hints
UVA 340-Master-Mind Hints题目大意:一个猜数字的小游戏,同一位置猜对的话x+1,数字猜对,但位置不对的话y+1分,x优先解题思路:用x,y变量表示就好#include <stdio.h>#include <string.h>#include <iostream>using namespace std;int main() { int n; int al原创 2016-07-19 19:20:17 · 312 阅读 · 0 评论 -
UVA 644-Immediate Decodability
UVA 644-Immediate Decodability题目大意:判断字符串组间是否有某个字符串是另一个的前缀解题思路:利用strcpy,strcat,strcmp用长度小的字符串覆盖掉长的前面部分,然后比较#include <stdio.h>#include <string.h>#include <iostream>using namespace std;int main() {原创 2016-07-19 19:22:54 · 327 阅读 · 0 评论 -
UVA 10474-Where is the Marble?
UVA 10474-Where is the Marble?题目大意:先输入 2 个数字,一个是被查找的元素个数,一个是需要查找的元素个数,然后输入元素,如果输入 0 则结束,然后将被查找元素排序后查找解题思路:先排序,然后找出元素所在位置#include <stdio.h>#include <iostream>using namespace std;int main() { int原创 2016-07-19 19:25:09 · 286 阅读 · 0 评论 -
UVA 152-Tree's a Crowd
UVA 152-Tree’s a Crowd题目大意:给三维空间的点的集合,判断每个点与其他点的最小距离并对对应的距离计数,距离小于10才记。解题思路:开个大小为10的数组进行计数#include <stdio.h>#include <iostream>#include <math.h>using namespace std;int main() { int a[100000][3]原创 2016-07-19 19:26:53 · 328 阅读 · 0 评论 -
UVA 299-Train Swapping
UVA 299-Train Swapping题目大意:给个序列只能交换相邻俩位,判断最小的交换次数解题思路:模拟冒泡排序#include <stdio.h>#include <iostream>using namespace std;int main() { int n; cin >> n; while(n--) { int m; int原创 2016-07-19 19:28:27 · 403 阅读 · 0 评论 -
UVA 120-Stacks of Flapjacks
UVA 120-Stacks of Flapjacks题目大意:给出数列, 一次让第一个数到第i个数全部翻转,把数列从小到大排序解题思路:把前i个的最大数先移动到第一位,然后移动到最后一位#include <stdio.h>#include <iostream>using namespace std;void turn(int *a, int n, int x) { int b[100原创 2016-07-19 19:29:55 · 424 阅读 · 0 评论