算法笔记
Catherine_bling
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
算法笔记 Problem G: 比较字符串
Description输入两个字符串,比较两字符串的长度大小关系。Input输入第一行表示测试用例的个数m,接下来m行每行两个字符串A和B,字符串长度不超过50。Output输出m行。若两字符串长度相等则输出AisequallongtoB;若A比B长,则输出AislongerthanB;否则输出AisshorterthanB。Sample Input2abc xybbb cccSample Outputabc is longer th...原创 2021-02-04 18:16:29 · 234 阅读 · 0 评论 -
算法笔记 Problem F: 数组逆置
Description输入一个字符串,长度小于等于200,然后将数组逆置输出。Input测试数据有多组,每组输入一个字符串。Output对于每组输入,请输出逆置后的结果。Sample InputtianqinSample OutputniqnaitHINT注意输入的字符串可能会有空格。#include<cstdio>#include<cstring>i...原创 2021-02-04 17:39:17 · 196 阅读 · 0 评论 -
算法笔记 Problem B: 首字母大写
Description对一个字符串中的所有单词,如果单词的首字母不是大写字母,则把单词的首字母变成大写字母。在字符串中,单词之间通过空白符分隔,空白符包括:空格(' ')、制表符('\t')、回车符('\r')、换行符('\n')。Input输入一行:待处理的字符串(长度小于100)。Output可能有多组测试数据,对于每组数据,输出一行:转换后的字符串。Sample Inputif so, you already have a google account. you c.原创 2021-02-04 15:47:25 · 318 阅读 · 0 评论 -
算法笔记 Problem A: 字符串连接
Description不借用任何字符串库函数实现无冗余地接受两个字符串,然后把它们无冗余的连接起来。Input每一行包括两个字符串,长度不超过100。Output可能有多组测试数据,对于每组数据,不借用任何字符串库函数实现无冗余地接受两个字符串,然后把它们无冗余的连接起来。输出连接后的字符串。Sample Inputabc defSample Outputabcdef#include<cstdio>#include<cstring&g..原创 2021-02-03 19:41:08 · 304 阅读 · 0 评论 -
算法笔记 Problem I: 【字符串】回文串
Description读入一串字符,判断是否是回文串。“回文串”是一个正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文串。Input一行字符串,长度不超过255。Output如果是回文串,输出“YES”,否则输出“NO”。Sample Input12321Sample OutputYES#include<cstdio>#include<cstring>bool ans(char str[]){//判断是不..原创 2021-02-03 18:05:05 · 230 阅读 · 0 评论 -
算法笔记 Problem D: 八进制
Description输入一个整数,将其转换成八进制数输出。Input输入包括一个整数N(0<=N<=100000)。Output可能有多组测试数据,对于每组数据,输出N的八进制表示数。Sample Input985Sample Output11105#include<cstdio>#include<cstring>int main(){ long long a; char z[40]={}..原创 2021-02-03 14:35:26 · 198 阅读 · 0 评论 -
算法笔记 Problem A: 又一版 A+B
Description输入两个不超过整型定义的非负10进制整数A和B(<=231-1),输出A+B的m (1 < m <10)进制数。Input输入格式:测试输入包含若干测试用例。每个测试用例占一行,给出m和A,B的值。当m为0时输入结束。Output输出格式:每个测试用例的输出占一行,输出A+B的m进制数。Sample Input<span style="color:#333333"><span...原创 2021-02-02 17:49:45 · 160 阅读 · 0 评论 -
算法笔记 Problem E: 日期累加
Description设计一个程序能计算一个日期加上若干天后是什么日期。Input输入第一行表示样例个数m,接下来m行每行四个整数分别表示年月日和累加的天数。Output输出m行,每行按yyyy-mm-dd的个数输出。Sample Input12008 2 3 100Sample Output2008-05-13#include<cstdio>bool isLeap(int year){//判断是否是闰年 return (year%1..原创 2021-02-02 14:36:05 · 210 阅读 · 0 评论 -
算法笔记 Problem D: 日期类
Description编写一个日期类,要求按xxxx-xx-xx的格式输出日期,实现加一天的操作。Input输入第一行表示测试用例的个数m,接下来m行每行有3个用空格隔开的整数,分别表示年月日。测试数据不会有闰年。Output输出m行。按xxxx-xx-xx的格式输出,表示输入日期的后一天的日期。Sample Input21999 10 202001 1 31Sample Output1999-10-212001-02-01HINT注意个位数日期前...原创 2021-02-02 14:31:35 · 248 阅读 · 1 评论 -
算法笔记 Problem C: 打印日期
Description给出年分m和一年中的第n天,算出第n天是几月几号。Input输入包括两个整数y(1<=y<=3000),n(1<=n<=366)。Output可能有多组测试数据,对于每组数据,按 yyyy-mm-dd的格式将输入中对应的日期打印出来。Sample Input2013 602012 3002011 3502000 211Sample Output2013-03-012012-10-262011-12-1620..原创 2021-02-02 14:18:36 · 179 阅读 · 0 评论 -
算法笔记 Problem A: 日期差值
Description有两个日期,求两个日期之间的天数,如果两个日期是连续的我们规定他们之间的天数为两天。Input有多组数据,每组数据有两行,分别表示两个日期,形式为YYYYMMDDOutput每组数据输出一行,即日期差值Sample Input2013010120130105Sample Output5#include<cstdio> int month[13][2]={//平年和闰年每个月的天数,第二维0表示平年,1表示闰年 ..原创 2021-02-02 14:16:19 · 241 阅读 · 0 评论 -
算法笔记 Problem D: 沙漏图形 tri2str [1*+]
Description问题:输入n,输出正倒n层星号三角形。首行顶格,星号间有一空格,效果见样例输入样例:3输出样例: * * * * * * * * * * *数据规模 1<= n <=50#include<cstdio>int main(){ int n; scanf("%d",&n); int bottom=2*n-1;//算上空格每行共有的长度 //输入倒三角 ...原创 2021-01-29 18:05:25 · 252 阅读 · 0 评论 -
算法笔记 Problem C: 等腰梯形
Description请输入高度h,输入一个高为h,上底边长为h的等腰梯形(例如h=4,图形如下)。****************************Input输入第一行表示样例数m,接下来m行每行一个整数h,h不超过10。Output对应于m个case输出要求的等腰梯形。Sample InputCopy14Sample OutputCopy **** ****** ******************...原创 2021-01-29 16:24:01 · 255 阅读 · 0 评论 -
PAT/算法笔记 1031 Hello World for U (20分)
Given any string ofN(≥5) characters, you are asked to form the characters into the shape ofU. For example,helloworldcan be printed as:h de ll rlowoThat is, the characters must be printed in the original order, starting top-down from the lef...原创 2021-01-29 15:39:47 · 141 阅读 · 0 评论 -
算法笔记 Problem A: 输出梯形
Description输入一个高度h,输出一个高为h,上底边为h的梯形。Input一个整数h(1<=h<=1000)。Outputh所对应的梯形。Sample Input5Sample Output ***** ******* ********* ************************#include<cstdio>int main(){ int n; while(s..原创 2021-01-29 11:52:30 · 187 阅读 · 0 评论 -
算法笔记 Problem E: 学生查询
算法笔记 Problem E: 学生查询Description输入n个学生的信息,每行包括学号、姓名、性别和年龄,每一个属性使用空格分开。最后再输入一学号,将该学号对应的学生信息输出。Input测试数据有多组,第一行为样例数m。对于每个样例,第一行为学生人数n(n不超过20),加下来n行每行4个整数分别表示学号、姓名、性别和年龄,最后一行表示查询的学号。Output输出m行,每行表示查询的学生信息,格式参见样例。Sample Input141 李江 男 212 刘唐 男 233 张军原创 2021-01-27 17:26:22 · 238 阅读 · 0 评论 -
算法笔记 Problem D: 查找
算法笔记 Problem D: 查找Description输入数组长度 n输入数组 a[1…n]输入查找个数m输入查找数字b[1…m]输出 YES or NO 查找有则YES 否则NO 。Input输入有多组数据。每组输入n,然后输入n个整数,再输入m,然后再输入m个整数(1<=m<=n<=100)。Output如果在n个数组中输出YES否则输出NO。Sample Input63 2 5 4 7 823 6Sample OutputYESN原创 2021-01-27 16:34:58 · 169 阅读 · 0 评论 -
算法笔记 Problem C: 查找学生信息
算法笔记 Problem C: 查找学生信息Description输入N个学生的信息,然后进行查询。Input输入的第一行为N,即学生的个数(N<=1000)接下来的N行包括N个学生的信息,信息格式如下:01 李江 男 2102 刘唐 男 2303 张军 男 1904 王娜 女 19然后输入一个M(M<=10000),接下来会有M行,代表M次查询,每行输入一个学号,格式如下:02030104Output输出M行,每行包括一个对应于查询的学生的信息。如果没有对应的原创 2021-01-27 15:25:18 · 264 阅读 · 0 评论 -
PAT 1026 程序运行时间 (15分)
PAT 1026 程序运行时间 (15分)要获得一个 C 语言程序的运行时间,常用的方法是调用头文件 time.h,其中提供了 clock() 函数,可以捕捉从程序开始运行到 clock() 被调用时所耗费的时间。这个时间单位是 clock tick,即“时钟打点”。同时还有一个常数 CLK_TCK,给出了机器时钟每秒所走的时钟打点数。于是为了获得一个函数 f 的运行时间,我们只要在调用 f 之前先调用 clock(),获得一个时钟打点数 C1;在 f 执行完成后再调用 clock(),获得另一个时钟打点原创 2021-01-27 12:19:28 · 143 阅读 · 0 评论 -
算法笔记 找x
算法笔记 Problem B: 找xDescription输入一个数n,然后输入n个数值各不相同,再输入一个值x,输出这个值在这个数组中的下标(从0开始,若不在数组中则输出-1)。Input测试数据有多组,输入n(1<=n<=200),接着输入n个数,然后输入x。Output对于每组输入,请输出结果。Sample Input41 2 3 43Sample Output2#include<cstdio>const int maxn=100;int a[ma原创 2021-01-27 12:09:39 · 254 阅读 · 0 评论 -
算法笔记 Problem A: 统计同成绩学生人数
算法笔记 Problem A: 统计同成绩学生人数Description读入N名学生的成绩,将获得某一给定分数的学生人数输出。Input测试输入包含若干测试用例,每个测试用例的格式为第1行:N第2行:N名学生的成绩,相邻两数字用一个空格间隔。第3行:给定分数当读到N=0时输入结束。其中N不超过1000,成绩分数为(包含)0到100之间的一个整数。Output对每个测试用例,将获得给定分数的学生人数输出。Sample Input470 80 90 10080365 75 85原创 2021-01-27 11:46:30 · 252 阅读 · 0 评论 -
算法笔记 Problem I: 锤子剪刀布 (20)
算法笔记 Problem I: 锤子剪刀布 (20)Description大家应该都会玩“锤子剪刀布”的游戏:两人同时给出手势,胜负规则如图所示:现给出两人的交锋记录,请统计双方的胜、平、负次数,并且给出双方分别出什么手势的胜算最大。Input输入第1行给出正整数N(<=105),即双方交锋的次数。随后N行,每行给出一次交锋的信息,即甲、乙双方同时给出的的手势。C代表“锤子”、J代表“剪刀”、B代表“布”,第1个字母代表甲方,第2个代表乙方,中间有1个空格。Output输出第1、2行分原创 2021-01-22 15:52:47 · 228 阅读 · 0 评论 -
算法笔记 Problem G: 数字分类 (20)
算法笔记 Problem G: 数字分类 (20)Description给定一系列正整数,请按要求对数字进行分类,并输出以下5个数字:A1 = 能被5整除的数字中所有偶数的和;A2 = 将被5除后余1的数字按给出顺序进行交错求和,即计算n1-n2+n3-n4…;A3 = 被5除后余2的数字的个数;A4 = 被5除后余3的数字的平均数,精确到小数点后1位;A5 = 被5除后余4的数字中最大数字。Input每个输入包含1个测试用例。每个测试用例先给出一个不超过1000的正整数N,随后给出N个不原创 2021-01-22 13:44:46 · 248 阅读 · 0 评论 -
算法笔记 Problem H: 部分A+B (15)
算法笔记 Problem H: 部分A+B (15)Description正整数A的“DA(为1位整数)部分”定义为由A中所有DA组成的新整数PA。例如:给定A = 3862767,DA = 6,则A的“6部分”PA是66,因为A中有2个6。现给定A、DA、B、DB,请编写程序计算PA + PB。Input输入在一行中依次给出A、DA、B、DB,中间以空格分隔,其中0 < A, B < 1010。Output在一行中输出PA + PB的值。Sample Input3862767原创 2021-01-22 11:55:17 · 201 阅读 · 0 评论 -
算法笔记 Problem F: A+B和C (15)
算法笔记 Problem F: A+B和C (15)Description给定区间[-231, 231]内的3个整数A、B和C,请判断A+B是否大于C。Input输入第1行给出正整数T(<=10),是测试用例的个数。随后给出T组测试用例,每组占一行,顺序给出A、B和C。整数间以空格分隔Output对每组测试用例,在一行中输出“Case #X: true”如果A+B>C,否则输出“Case #X: false”,其中X是测试用例的编号(从1开始)。Sample Input41 2原创 2021-01-22 10:23:15 · 207 阅读 · 0 评论 -
算法笔记 Problem E: Shortest Distance
算法笔记 Problem E: Shortest Distance (20)DescriptionThe task is really simple: given N exits on a highway which forms a simple cycle, you are supposed to tell the shortest distance between any pair of exits.InputEach input file contains one test case. For原创 2021-01-22 09:47:57 · 184 阅读 · 0 评论 -
算法笔记 Problem D: 比较奇偶数个数
算法笔记 Problem D: 比较奇偶数个数Description第一行输入一个数,为n,第二行输入n个数,这n个数中,如果偶数比奇数多,输出NO,否则输出YES。Input输入有多组数据。每组输入n,然后输入n个整数(1<=n<=1000)。Output如果偶数比奇数多,输出NO,否则输出YES。Sample Input16770 69 24 78 58 62 64Sample OutputYESNO#include<cstdio>int mai原创 2021-01-22 09:46:14 · 197 阅读 · 0 评论 -
算法笔记 Problem C: 特殊乘法
算法笔记 Problem C: 特殊乘法Description写个算法,对2个小于1000000000的输入,求结果。特殊乘法举例:123 * 45 = 14 +15 +24 +25 +34+35Input两个小于1000000000的数Output输入可能有多组数据,对于每一组数据,输出Input中的两个数按照题目要求的方法进行运算后得到的结果。Sample Input24 6542 666663 67Sample Output6618039#include<cstdi原创 2021-01-22 09:47:33 · 230 阅读 · 0 评论 -
算法笔记 Problem A: 剩下的树
算法笔记 Problem A: 剩下的树Description有一个长度为整数L(1<=L<=10000)的马路,可以想象成数轴上长度为L的一个线段,起点是坐标原点,在每个整数坐标点有一棵树,即在0,1,2,…,L共L+1个位置上有L+1棵树。现在要移走一些树,移走的树的区间用一对数字表示,如 100 200表示移走从100到200之间(包括端点)所有的树。可能有M(1<=M<=100)个区间,区间之间可能有重叠。现在要求移走所有区间的树之后剩下的树的个数。Input两个原创 2021-01-22 09:45:45 · 223 阅读 · 0 评论 -
算法笔记 Problem H: A+B 输入输出练习VIII
算法笔记 Problem H: A+B 输入输出练习VIIIDescription你的任务是计算若干整数的和。Input输入的第一行为一个整数N,接下来N行每行先输入一个整数M,然后在同一行内输入M个整数。Output对于每组输入,输出M个数的和,每组输出之间输出一个空行。Sample Input34 1 2 3 45 1 2 3 4 53 1 2 3Sample Output10156#include<stdio.h>int main(){ int N原创 2021-01-21 15:22:19 · 219 阅读 · 0 评论 -
算法笔记 Problem G: A+B 输入输出练习VII
算法笔记 Problem G: A+B 输入输出练习VIIDescription你的任务是计算两个整数的和。Input输入包含若干行,每行输入两个整数a和b,由空格分隔。Output对于每组输入,输出a和b的和,每行输出后接一个空行。Sample Input1 510 20Sample Output630#include<stdio.h>int main(){ int a,b; while(scanf("%d%d",&a,&b)!=EO原创 2021-01-21 15:12:07 · 268 阅读 · 0 评论 -
算法笔记 Problem F: A+B 输入输出练习VI
算法笔记 Problem F: A+B 输入输出练习VIDescription你的任务是计算若干整数的和。Input每行的第一个数N,表示本行后面有N个数。Output对于每一行数据需要在相应的行输出和。Sample Input4 1 2 3 45 1 2 3 4 5Sample Output1015#include<stdio.h>int main(){ int a; int N,i; while(scanf("%d",&N)!=EO原创 2021-01-21 14:46:09 · 291 阅读 · 0 评论 -
算法笔记 Problem E: A+B 输入输出练习V
算法笔记 Problem E: A+B 输入输出练习VDescription你的任务是计算若干整数的和。Input输入的第一行是一个正数N,表示后面有N行。每一行的第一个数是M,表示本行后面还有M个数。Output对于每一行数据需要在相应的行输出和。Sample Input24 1 2 3 45 1 2 3 4 5Sample Output1015#include<stdio.h>int main(){ int N,M,a; scanf("%d",&原创 2021-01-21 12:39:23 · 327 阅读 · 0 评论 -
算法笔记 Problem D: A+B 输入输出练习IV
算法笔记 Problem D: A+B 输入输出练习IVDescription你的任务是计算若干整数的和。Input每行的第一个数N,表示本行后面有N个数。如果N=0时,表示输入结束,且这一行不要计算。Output对于每一行数据需要在相应的行输出和。Sample Input4 1 2 3 45 1 2 3 4 50Sample Output1015#include<stdio.h>int main(){ int a; int N,i; sc原创 2021-01-21 12:18:22 · 311 阅读 · 0 评论 -
算法笔记 Problem B: A+B 输入输出练习II
算法笔记 Problem B: A+B 输入输出练习IIDescription你的任务是计算a+b。Input第一行是一个整数N,表示后面会有N行a和b,通过空格隔开。Output对于输入的每对a和b,你需要在相应的行输出a、b的和。如第二对a和b,对应的和也输出在第二行。Sample Input21 510 20Sample Output630#include<stdio.h>int main(){ int T,a,b; scanf("%d",&原创 2021-01-21 11:37:21 · 455 阅读 · 0 评论 -
算法笔记 Problem C: A+B 输入输出练习III
算法笔记 Problem C: A+B 输入输出练习IIIDescription你的任务是计算a+b。Input输入中每行是一对a和b。其中会有一对是0和0标志着输入结束,且这一对不要计算。Output对于输入的每对a和b,你需要在相应的行输出a、b的和。如第二对a和b,他们的和也输出在第二行。Sample Input1 510 200 0Sample Output630#include<stdio.h>int main(){ int a,b; w原创 2021-01-21 11:24:31 · 255 阅读 · 0 评论 -
算法笔记 Problem A: A+B 输入输出练习I
算法笔记 Problem A: A+B 输入输出练习IDescription你的任务是计算a+b。这是为了acm初学者专门设计的题目。你肯定发现还有其他题目跟这道题的标题类似,这些问题也都是专门为初学者提供的。Input输入包含一系列的a和b对,通过空格隔开。一对a和b占一行。Output对于输入的每对a和b,你需要依次输出a、b的和。如对于输入中的第二对a和b,在输出中它们的和应该也在第二行。Sample Input1 510 20Sample Output630#includ原创 2021-01-21 11:09:07 · 781 阅读 · 0 评论 -
算法笔记 Problem E: C语言11.8
算法笔记 Problem E: C语言11.8Description有10个学生,每个学生的数据包括学号、姓名、3门课程的成绩。读入这10个学生的数据,要求输出3门课程的总平均成绩,以及个人平均分最高的学生的数据(包括学号、姓名、3门课程成绩、平均分数)。Input共有10行,每行包含了一个学生的学号(整数)、名字(长度不超过19的无空格字符串)和3门课程的成绩(0至100之间的整数),用空格隔开。Output第一行包含了3个实数,分别表示3门课程的总平均成绩,保留2位小数,每个数之后输出一个空原创 2021-01-20 17:36:49 · 241 阅读 · 0 评论 -
算法笔记 Problem D: C语言11.7
算法笔记 Problem D: C语言11.7Description编写两个函数input和print,分别用来输入5个学生的数据记录和打印这5个学生的记录。对于每一个学生,其记录包含了学号、名字、3门课程的成绩共5项。用主函数分别调用input和print函数进行输入和输出。要求使用结构体数组实现,结构体中包括了每个学生的5项记录。Input共有5行,每行包含了一个学生的学号(整数)、名字(长度不超过19的无空格字符串)和3门课程的成绩(0至100之间的整数),用空格隔开。Output与输入原创 2021-01-20 16:03:06 · 245 阅读 · 0 评论 -
算法笔记 Problem C: C语言11.4
算法笔记 Problem C: C语言11.4Description设有若干个人员的数据,其中包含学生和教师。学生的数据中包括:号码、姓名、性别、职业、班级。教师的数据包括:号码、姓名、性别、职业、职务。可以看出,学生和教师所包含的数据是不同的。现在要求把这些数据放在同一个表格中储存,使用结构体中的共用体实现。结构体定义如下:struct {int num;char name[10];char sex;char job;union {int class;char position[10]原创 2021-01-20 15:34:55 · 188 阅读 · 0 评论
分享