自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(51)
  • 收藏
  • 关注

原创 UVa - 839 - Not so Mobile(二叉树的DFS)

bool Right(int& w){ int wl,dl,wr,dr; bool b1 = true; bool b2 = true; cin>>wl>>dl>>wr>>dr; if(!wl) b1 = Right(wl); if(!wr) b2 = Right(wr); w = wl + wr; return b1&&b2&&(wl*dl==wr*dr);}输

2016-09-29 19:47:43 360

原创 UVa - 548 - Tree(从中序和后序恢复二叉树)

输入有多组,每组包含两行,第一行是二叉树的中序遍历,第二行是后序遍历。每个数字代表结点的值,输出某个叶子结点的值,表示从根节点到该叶子节点经过的结点的和最小(包括根节点和叶子结点),如果有多个相同,那么输出叶子结点的值最小的那个结点的值。思路:根据题目中给出的中序和后序递归建树。dfs遍历所有的情况和,记录最小的情况。#include#include#include#incl

2016-09-28 15:44:50 414

原创 UVa - 679 - Dropping Balls(完全二叉树编号)

一棵深度为D满二叉树层次遍历编号从1到2^D-1,有X个小球一次从1掉落,可以掉落到左子树或者右子树,每一个内部结点都有一个开关,起初开关都是关闭着的,当小球进入结点后,如果开关是关闭,则开关改变成为开,小球落入左子树,相反同理。现在给出D和X求出第X个小求落在的结点编号。思路:经过一两次模拟后,发现:在根节点时,奇数y个小球总是落在左子树,并且是第(y+1)/2个落入该左子树的。偶数y个小球

2016-09-28 11:59:54 751

原创 UVa - 442 - Matrix Chain Multiplication(用栈实现简单的表达式解析)

#include#include#include#include #includeusing namespace std;struct Matrix{ int a,b;// Matrix(int a=0,int b=0):a(a),b(b){}// Matrix(int a,int b){// this.a=a;// this.b=b;// }}m[26];i

2016-09-25 16:39:12 433

原创 UVa - 514 - Rails(栈-stack)

#include#includeusing namespace std;int n,x;int main(){// freopen("input.txt","r",stdin); while(scanf("%d",&n)!=EOF){ if(n==0)break; int order[n+1]; stacks; while(scanf("%d",&x)!=E

2016-09-25 16:35:24 457

原创 UVa - 136 - Ugly Numbers(STL - 优先队列priority_queue)

DescriptionUgly numbers are numbers whose only prime factors are 2, 3 or 5. The sequence1, 2, 3, 4, 5, 6, 8, 9, 10, 12, 15, ...shows the first 11 ugly numbers. By convention, 1 is incl

2016-09-24 21:39:22 385

原创 UVa - 540 - Team Queue(STL - 队列queue)

#include#include#includeusing namespace std;int main(){// freopen("input.txt","r",stdin); int t,k=0,n,temp; while(scanf("%d",&t)!=EOF){ mapteam; queue q,q1[1010]; if(t==0)break; k++;

2016-09-24 21:35:37 572

原创 UVa - 156 - Ananagrams(STL - 映射map)

DescriptionMost crossword puzzle fans are used to anagrams--groups of words with the same letters in different orders--for example OPTS, SPOT, STOP, POTS and POST. Some words however do not have

2016-09-21 15:28:54 454

原创 UVa - 10815 - Andy's First Dictionary(STL - 集合set)

#include#include#include#includeusing namespace std;int main(){ //freopen("input.txt","r",stdin); set dict; string s,buf; while(cin>>s){ for(int i=0 ;i<s.length() ;i++){ if(isalp

2016-09-21 14:20:34 433

原创 PAT - 1059. C语言竞赛(20)

C语言竞赛是浙江大学计算机学院主持的一个欢乐的竞赛。既然竞赛主旨是为了好玩,颁奖规则也就制定得很滑稽: 0. 冠军将赢得一份“神秘大奖”(比如很巨大的一本学生研究论文集……)。1. 排名为素数的学生将赢得最好的奖品 —— 小黄人玩偶!2. 其他人将得到巧克力。给定比赛的最终排名以及一系列参赛者的ID,你要给出这些参赛者应该获得的奖品。 输入格式: 输入第一行给出一个正整数N

2016-09-20 21:11:04 1536

原创 PAT - 1058. 选择题(20)

批改多选题是比较麻烦的事情,本题就请你写个程序帮助老师批改多选题,并且指出哪道题错的人最多。 输入格式: 输入在第一行给出两个正整数N(<=1000)和M(<=100),分别是学生人数和多选题的个数。随后M行,每行顺次给出一道题的满分值(不超过5的正整数)、选项个数(不少于2且不超过5的正整数)、正确选项个数(不超过选项个数的正整数)、所有正确选项。注意每题的选项从小写英文字母a开始顺次排

2016-09-20 21:06:41 2495 1

原创 PAT - 1057. 数零壹(20)

给定一串长度不超过105的字符串,本题要求你将其中所有英文字母的序号(字母a-z对应序号1-26,不分大小写)相加,得到整数N,然后再分析一下N的二进制表示中有多少0、多少1。例如给定字符串“PAT (Basic)”,其字母序号之和为:16+1+20+2+1+19+9+3=71,而71的二进制是1000111,即有3个0、4个1。输入格式: 输入在一行中给出长度不超过105、以回车结束

2016-09-20 21:05:39 875

原创 PAT - 1056. 组合数的和(15)

给定N个非0的个位数字,用其中任意2个数字都可以组合成1个2位的数字。要求所有可能组合出来的2位数字的和。例如给定2、5、8,则可以组合出:25、28、52、58、82、85,它们的和为330。输入格式: 输入在一行中先给出N(1输出格式: 输出所有可能组合出来的2位数字的和。 输入样例:3 2 8 5输出样例:330#include#include

2016-09-20 21:03:53 1383

原创 UVa - 1339 - Ancient Cipher(排序)

思路:题目的大概意思是对信息的加密。加密方法有两种。第一种:Substitution cipher将字母往后推1位或者更多,如A往后推一位是B。(可以理解为字母的映射),需要注意的是 不同的字母可以有不同的映射方式,如,A字母往后推一位,B字母往后推2位,那么A对应B, B对应D。第二种:Permutation cipher将字母进行重排列。1.因为字母可以重排

2016-09-20 14:28:19 568

原创 UVa - 133 - The Dole Queue(救济金发放)

DescriptionIn a serious attempt to downsize (reduce) the dole queue, The New National Green Labour Rhinoceros Party has decided on the following strategy. Every day all dole applicants will be

2016-09-19 20:43:01 510

原创 UVa - 489 - Hangman Judge(刽子手游戏)

#include#includeusing namespace std;char s1[1000];char s2[1000];int n;int win,lose,chance,left;int main(){ void guess(char c); while(scanf("%d",&n)!=EOF){ if(n==-1){ break; }el

2016-09-19 14:02:39 437

原创 UVa - 1587 - BOX

思路:由于出入的w和h不一定哪个大,给数据的处理带来麻烦,所以,先用结构题来存储w和h,并且数据存储要求为w>h,存储到结构体的数组中后,对现有的数据进行排序,排序的规则是,w不同时,按照w升序,否则按照h升序。长方体的6个面的特点:两两面相同,ab,ab,ac,ac,bc,bc。  (其中 a=1,b=2,c=6) 。在编码中进行判断即可。#include#includeus

2016-09-19 11:23:54 3131 1

原创 UVa - 10340 - All in All(暴力遍历、子序列)

#include#includeusing namespace std;char s1[101000];char s2[101000];int main(){// freopen("input.txt","r",stdin); while(scanf("%s %s",s1,s2)!=EOF){ int len1 = strlen(s1); int len2 = strl

2016-09-19 10:23:06 359

原创 UVa - 227 - Puzzle(gets(),scanf("%c",&x))

思路:简单模拟,按照题目意思进行编码即可。#includeusing namespace std;char m[5][5];char cmd[100];int main(){// freopen("input.txt","r",stdin); int b_x ,b_y ,cases=0; while(gets(m[0])){ if(m[0][0]=='Z')

2016-09-18 20:46:55 431

原创 UVa - 1225 - Digit Counting(打表计算)

Description Trung is bored with his mathematics homeworks. He takes a piece of chalk and starts writing a sequence of consecutive integers starting with 1 to N (1  N  . After that, he counts

2016-09-17 13:53:39 393

原创 UVa - 1586 - Molar mass(char s[n];scanf("%s",s);)

#include#include#include#include#includeusing namespace std;double weight[200];int main(){ weight['C']=12.01; weight['H']=1.008; weight['O']=16.00; weight['N']=14.01;// freopen("input.tx

2016-09-17 12:02:59 328

原创 UVa - 1585 - Score

DescriptionThere is an objective test result such as ``OOXXOXXOOO". An `O' means a correct answer of a problem and an `X' means a wrong answer. The score of each problem of this test is calcul

2016-09-13 22:29:33 443

原创 UVa - 10082 - WERTYU (常量数组的使用)

#include#include#includeusing namespace std;char ans[] = "`1234567890-=QWERTYUIOP[]\\ASDFGHJKL;'ZXCVBNM,./";int main(){ // freopen("input.txt","r",stdin); char c; while((c=getchar())!=E

2016-09-12 22:02:48 357

原创 C++ - PAT - 1045. 快速排序(25)

著名的快速排序算法里有一个经典的划分过程:我们通常采用某种方法取一个元素作为主元,通过交换,把比主元小的元素放到它的左边,比主元大的元素放到它的右边。 给定划分后的N个互不相同的正整数的排列,请问有多少个元素可能是划分前选取的主元?例如给定N = 5, 排列是1、3、2、4、5。则:1的左边没有元素,右边的元素都比它大,所以它可能是主元;尽管3的左边元素都比它小,但是它右边的2它小

2016-09-07 22:47:28 766

原创 C++ - PAT - 1030. 完美数列(25)

给定一个正整数数列,和正整数p,设这个数列中的最大值是M,最小值是m,如果M 现在给定参数p和一些正整数,请你从中选择尽可能多的数构成一个完美数列。输入格式: 输入第一行给出两个正整数N和p,其中N(5)是输入的正整数的个数,p(9)是给定的参数。第二行给出N个正整数,每个数不超过109。输出格式: 在一行中输出最多可以选择多少个数可以用它们组成一个完美数列。 输入样例

2016-09-06 16:24:26 902

原创 【索引】PAT乙级题目题解

1001. 害死人不偿命的(3n+1)猜想 (15)1002. 写出这个数 (20)1003. 我要通过!(20)1004. 成绩排名 (20)1005. 继续(3n+1)猜想 (25)1006. 换个格式输出整数 (15)1007. 素数对猜想 (20)1008. 数组元素循环右移问题 (20)1009. 说反话 (20)101

2016-09-06 15:11:24 3574 1

原创 C++ - PAT - 1034. 有理数四则运算(20)

本题要求编写程序,计算2个有理数的和、差、积、商。输入格式: 输入在一行中按照“a1/b1 a2/b2”的格式给出两个分数形式的有理数,其中分子和分母全是整型范围内的整数,负号只可能出现在分子前,分母不为0。输出格式: 分别在4行中按照“有理数1 运算符 有理数2 = 结果”的格式顺序输出2个有理数的和、差、积、商。注意输出的每个有理数必须是该有理数的最简形式“k a/b”,其

2016-09-06 09:33:15 1018

原创 C++ - PAT - 1035. 插入与归并(25)

根据维基百科的定义:插入排序是迭代算法,逐一获得输入数据,逐步产生有序的输出序列。每步迭代中,算法从输入序列中取出一元素,将之插入有序序列中正确的位置。如此迭代直到全部元素有序。归并排序进行如下迭代操作:首先将原始序列看成N个只包含1个元素的有序子序列,然后每次迭代归并两个相邻的有序子序列,直到最后只剩下1个有序的序列。现给定原始序列和由某排序算法产生的中间序列,请你判断该算法究竟是哪

2016-09-05 22:33:57 651

原创 C++ - PAT - 1044. 火星数字(20)

火星人是以13进制计数的:地球人的0被火星人称为tret。 地球人数字1到12的火星文分别为:jan, feb, mar, apr, may, jun, jly, aug, sep, oct, nov, dec。火星人将进位以后的12个高位数字分别称为:tam, hel, maa, huh, tou, kes, hei, elo, syy, lok, mer, jou。例如地球

2016-09-05 20:46:54 2591 1

原创 Java - 华为机试训练 - 删除字符串中出现次数最少的字符

时间限制:1秒空间限制:32768K本题知识点: 字符串 算法知识视频讲解题目描述实现删除字符串中出现次数最少的字符,若多个字符出现次数一样,则都删除。输出删除这些单词后的字符串,字符串中其它字符保持原来的顺序。输入描述:字符串只包含小写英文字母, 不考虑非法输入,输入的字符串长度小于等于20个字节。输出描述:删除字符串

2016-09-04 22:23:33 2116 2

原创 Java - 华为机试训练 - 汽水瓶

时间限制:1秒空间限制:32768K 算法知识视频讲解题目描述有这样一道智力题:“某商店规定:三个空汽水瓶可以换一瓶汽水。小张手上有十个空汽水瓶,她最多可以换多少瓶汽水喝?”答案是5瓶,方法如下:先用9个空瓶子换3瓶汽水,喝掉3瓶满的,喝完以后4个空瓶子,用3个再换一瓶,喝掉这瓶满的,这时候剩2个空瓶子。然后你让老板先借给你一瓶汽水,喝掉这瓶满的,喝完以后用3个空瓶子换

2016-09-04 22:22:19 1047

原创 Java - 华为机试训练 - 简单密码破解

时间限制:1秒空间限制:32768K本题知识点: 字符串 算法知识视频讲解题目描述密码是我们生活中非常重要的东东,我们的那么一点不能说的秘密就全靠它了。哇哈哈. 接下来渊子要在密码之上再加一套密码,虽然简单但也安全。 假设渊子原来一个BBS上的密码为zvbo9441987,为了方便记忆,他通过一种算法把这个密码变换成YUANzhi1987,这个密

2016-09-04 21:18:42 1179

原创 Java - 华为机试训练 - 【中级】单词倒排(正则表达式切割字符串)

时间限制:1秒空间限制:32768K本题知识点: 字符串 排序 算法知识视频讲解题目描述对字符串中的所有单词进行倒排。说明:1、每个单词是以26个大写或小写英文字母构成;2、非构成单词的字符均视为单词间隔符;3、要求倒排后的单词间隔符以一个空格表示;如果原字符串中相邻单词间有多个间隔符时,倒排转换后也只允许出现一个空格间隔符;

2016-09-04 20:50:32 1074

原创 Java - 华为机试训练 - 密码验证合格程序(正则表达式判断)

时间限制:1秒空间限制:32768K本题知识点: 字符串 数组 算法知识视频讲解题目描述密码要求:   1.长度超过8位   2.包括大小写字母.数字.其它符号,以上四种至少三种   3.不能有相同长度超2的子串重复   说明:长度超过

2016-09-04 20:33:48 1758

转载 JAVA正则表达式 Pattern和Matcher

java.util.regex是一个用正则表达式所订制的模式来对字符串进行匹配工作的类库包。1.简介: java.util.regex是一个用正则表达式所订制的模式来对字符串进行匹配工作的类库包。 它包括两个类:Pattern和Matcher 。Pattern: 一个Pattern是一个正则表达式经编译后的表现模式。 Matcher: 一个Matcher对象是一个状态机器,它依

2016-09-04 17:50:36 349

原创 Java - 华为机试训练 - 购物单(0-1背包+限制条件)

时间限制:1秒空间限制:32768K本题知识点: 字符串 算法知识视频讲解题目描述王强今天很开心,公司发给N元的年终奖。王强决定把年终奖用于购物,他把想买的物品分为两类:主件与附件,附件是从属于某个主件的,下表就是一些主件与附件的例子:主件附件电脑打印机,扫描仪书柜图书

2016-09-04 14:30:08 2085 1

原创 Java - 华为机试训练 - 求int型正整数在内存中存储时1的个数

时间限制:1秒空间限制:32768K 算法知识视频讲解题目描述输入一个int型的正整数,计算出该int型数据在内存中存储时1的个数。输入描述: 输入一个整数(int类型)输出描述: 这个数转换成2进制后,输出1的个数输入例子:5输出例子:2//输入数据后转换成二进制数,

2016-09-04 09:09:09 1359

原创 Java - 华为机试训练 - 字串的连接最长路径查找

时间限制:1秒空间限制:32768K本题知识点: 字符串 算法知识视频讲解题目描述给定n个字符串,请对n个字符串按照字典序排列。 输入描述:输入第一行为一个正整数n(1≤n≤1000),下面n行为n个字符串(字符串长度≤100),字符串中只含有大小写字母。输出描述:数据输出n行,输出结果为按照字典序排列的字符串。输入例子:

2016-09-04 09:06:57 753

原创 Java - 华为机试训练 - 句子逆序

时间限制:1秒空间限制:32768K本题知识点: 数组 算法知识视频讲解题目描述将一个英文语句以单词为单位逆序排放。例如“I am a boy”,逆序排放后为“boy a am I”所有单词之间用一个空格隔开,语句中除了英文字母外,不再包含其他字符接口说明/** * 反转句子 *  * @param sentence 原句子

2016-09-04 09:04:40 1559

原创 Java - 华为机试训练 - 字符串反转

时间限制:1秒空间限制:32768K本题知识点: 字符串 算法知识视频讲解题目描述写出一个程序,接受一个字符串,然后输出该字符串反转后的字符串。例如:输入描述:输入N个字符输出描述:输出该字符串反转后的字符串输入例子:abcd输出例子:dcbaimport java.util.

2016-09-04 09:03:06 805

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除