自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 A1036 Boys vs Girls (25分)【C语言】

A1036 Boys vs Girls (25分)【C语言】原题链接题目要求找出男学生中的最低成绩 和 女同学中的最高成绩主要在于最后输出时的各种情况的特判题目描述:This time you are asked to tell the difference between the lowest grade of all the male students and the highest grade of all the female students.输入格式:Each input file

2020-05-31 22:04:16 169

原创 A1006 Sign In and Sign Out (25分)【C语言】

A1006 Sign In and Sign Out (25分)【C语言】原题链接用的方法和1028 人口普查一样题目描述:At the beginning of every day, the first person who signs in the computer room will unlock the door, and the last one who signs out will lock the door. Given the records of signing in’s and

2020-05-31 21:25:01 134

原创 A1011 World Cup Betting (20分)【C语言】

A1011 World Cup Betting (20分)【C语言】原题链接简单说,题目就是让找出来输入的每行的最大值题目描述:With the 2010 FIFA World Cup running, football fans the world over were becoming increasingly excited as the best players from the best teams doing battles for the World Cup trophy in Sout

2020-05-31 20:53:59 135

原创 B1028 人口普查 (20分)【C语言】

B1028 人口普查 (20分)【C语言】原题链接一开始没有想出来怎么比较年月日,看了晴神的解析。注意:所有人的出生日期都不合法时,进行特判,不然输出格式会出现错误日期比较函数只写一个的写法会导致边界日期的处理出现问题Dev上跑的没问题,PTA一直显示编译错误,PTA居然要重新申明一次结构体的名字…费老大劲才明白。题目描述:某城镇进行人口普查,得到了全体居民的生日。现请你写个程序,找出镇上最年长和最年轻的人。这里确保每个输入的日期都是合法的,但不一定是合理的——假设已知镇上没有超过 20

2020-05-30 22:29:03 595

原创 B1032 挖掘机技术哪家强 (20分)【C语言】

B1032 挖掘机技术哪家强 (20分)【C语言】原题链接边读入数据边进行处理!题目描述:为了用事实说明挖掘机技术到底哪家强,PAT 组织了一场挖掘机技能大赛。现请你根据比赛结果统计出技术最强的那个学校。输入格式:输入在第 1 行给出不超过 10 ​5 的正整数 N,即参赛人数。随后 N 行,每行给出一位参赛者的信息和成绩,包括其所代表的学校的编号(从 1 开始连续编号)、及其比赛成绩(百分制),中间以空格分隔。输出格式:在一行中给出总得分最高的学校的编号、及其总分,中间以空格分隔。题目保证

2020-05-29 21:36:08 239

原创 B1004 成绩排名 (20分)【C语言】

B1004 成绩排名 (20分)【C语言】原题链接这类题晴神的解法有个共同点就是,不需要存储所有的输入数据,都是边读入边进行处理,空间复杂度有了显著的提高。A1002A1009题目描述:读入 n(>0)名学生的姓名、学号、成绩,分别输出成绩最高和成绩最低学生的姓名和学号。输入格式:每个测试输入包含 1 个测试用例,格式为第 1 行:正整数 n第 2 行:第 1 个学生的姓名 学号 成绩第 3 行:第 2 个学生的姓名 学号 成绩… … …第 n+1 行:第 n 个学生的姓名

2020-05-28 21:45:42 288

原创 B1041 考试座位号 (15分)【C语言】

B1041 考试座位号 (15分)【C语言】原题链接因为有3个变量需要存储,因此考虑用结构体。题目描述:每个 PAT 考生在参加考试时都会被分配两个座位号,一个是试机座位,一个是考试座位。正常情况下,考生在入场时先得到试机座位号码,入座进入试机状态后,系统会显示该考生的考试座位号码,考试时考生需要换到考试座位就座。但有些考生迟到了,试机已经结束,他们只能拿着领到的试机座位号码求助于你,从后台查出他们的考试座位号码。输入格式:输入第一行给出一个正整数 N(≤1000),随后 N 行,每行给出一个考

2020-05-27 22:37:32 244

原创 A1009 Product of Polynomials (25分)【C语言】

A1009 Product of Polynomials (25分)【C语言】原题链接还是开了三个数组(汗-_-||, 其实只需要开一个,另一个边读入边处理就可以。1、第一次的时候测试点45段错误,意识到,多项式相乘后,系数范围是原来的2倍,因此注意数组大小的确定。2、一开始测试点1通不过,发现放到外面单独统计一次非零项的个数就通过了,应该是测试点1中包含系数为0的情况。题目描述:This time, you are supposed to find A×B where A and B are

2020-05-27 22:19:26 205

原创 A1002 A+B for Polynomials (25分)【C语言】

A1002 A+B for Polynomials (25分)【C语言】原题链接题目描述:This time, you are supposed to find A+B where A and B are two polynomials.输入格式:输出格式:For each test case you should output the sum of A and B in one line, with the same format as the input. Notice that ther

2020-05-27 21:35:55 220

原创 B1010 一元多项式求导 (25分)【C语言】

B1010 一元多项式求导 (25分)【C语言】原题链接用一个数组存储系数和指数,数组下标代表指数,内容代表系数,如,A[i]表示指数为i的项的系数。注意求导更新数组时,要从低位向高位更新,否则可能会出现数据覆盖,造成数据丢失。输出时,从高位向低位输出,注意控制格式。题目描述:设计函数求一元多项式的导数。(注:x ​n (n为整数)的一阶导数为nx ​n−1​​ 。)输入格式:以指数递降方式输入多项式非零项系数和指数(绝对值均为不超过 1000 的整数)。数字间以空格分隔。输出格式:以与

2020-05-25 10:29:47 437

原创 A1065 A+B and C (64bit) (20分)【C语言】

A1065 A+B and C (64bit) (20分)【C语言】原题链接这道题很简单,判断A+B与C的关系即可,注意ABC的范围超过了int范围,需要用long long 类型。还要注意,A+B的和可能会产生正溢出和负溢出,这两种情况要考虑到题目描述:Given three integers A, B and C in [−2 ​63​​ ,2 63​​ ], you are supposed to tell whether A+B>C.输入格式:The first line of

2020-05-25 09:48:13 215

原创 A1046 Shortest Distance (20分)【C语言】

A1046 Shortest Distance (20分)【C语言】原题链接题目描述:The 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.输入格式:Each input file contains one test case. For each

2020-05-24 15:32:45 177

原创 A1042 Shuffling Machine (20分)【C语言】

A1042 Shuffling Machine (20分)【C语言】原题链接题目要求很简单,按照给定的洗牌次数和洗牌序列,最终输出洗好的牌。初始时牌的顺序为S1, S2, …, S13,H1, H2, …, H13,C1, C2, …, C13,D1, D2, …, D13,J1, J2注意牌的序号和数组下标的关系,可以在0号下标不存储元素,则实现了一一对应的关系题目描述:Shuffling is a procedure used to randomize a deck of pl

2020-05-24 12:19:15 379

原创 B1018 锤子剪刀布 (20分)【C语言】

B1018 锤子剪刀布 (20分)【C语言】原题链接字符的处理较为复杂,因此我们先用函数将字母转变成数字。题目描述:大家应该都会玩“锤子剪刀布”的游戏:两人同时给出手势。现给出两人的交锋记录,请统计双方的胜、平、负次数,并且给出双方分别出什么手势的胜算最大。输入格式:输入第 1 行给出正整数 N(≤10 ​5),即双方交锋的次数。随后 N 行,每行给出一次交锋的信息,即甲、乙双方同时给出的的手势。C 代表“锤子”、J 代表“剪刀”、B 代表“布”,第 1 个字母代表甲方,第 2 个代表乙方,中

2020-05-23 12:27:30 469

原创 7-1 还原二叉树 (8分)【C语言】

7-1 还原二叉树 (8分)【C语言】中国大学MOOC-陈越、何钦铭-数据结构-2020春期末考试 编程题解题思路:根据先序遍历序列可以确定根结点,再在中序遍历序列里可以确定左右子树的范围,同样的方法递归处理左右子树,即可得到左右子树的高度(取较高者),加1(根结点)即为树高题目描述:给定一棵二叉树的先序遍历序列和中序遍历序列,要求计算该二叉树的高度。输入格式:输入首先给出正整数N(≤50),为树中结点总数。下面两行先后给出先序和中序遍历序列,均是长度为N的不包含重复英文字母(区别大小写)的

2020-05-22 16:56:26 1317

原创 B1036 跟奥巴马一起编程 (15分)【C语言】

B1036 跟奥巴马一起编程 (15分)【C语言】原题链接本体看起来很迷惑(至少我看着挺迷惑),其实难点只有两个:实际输出的行数就是边长的二分之一(通过判断边长的奇偶,来进行四舍五入);通过循环和换行符和空格的输出来控制输出格式,来造一个正方形。题目描述:美国总统奥巴马不仅呼吁所有人都学习编程,甚至以身作则编写代码,成为美国历史上首位编写计算机代码的总统。2014 年底,为庆祝“计算机科学教育周”正式启动,奥巴马编写了很简单的计算机代码:在屏幕上画一个正方形。现在你也跟他一起画吧!输入格式

2020-05-21 19:28:04 258

原创 B1021 个位数统计 (15分)【C语言】

B1021 个位数统计 (15分)【C语言】原题链接一开始N使用的数据类型是int,发现第三个测试点不能通过,发现N是位数不超过1000位,因此没有数字的数据类型可以存储N,只能用字符串来存储。题目描述:给定一个 k 位整数 N=d ​k−1* 10 ​k−1+⋯+d ​1*10 ​1+d 0(0≤d ​i≤9, i=0,⋯,k−1, d ​k−1​​ >0),请编写程序统计每种不同的个位数字出现的次数。例如:给定 N=100311,则有 2 个 0,3 个 1,和 1 个 3。输入格式:

2020-05-19 11:26:43 606

原创 B1006 换个格式输出整数 (15分)【C语言】

B1006 换个格式输出整数 (15分)【C语言】原题链接利用除法和取余将百、十、个位的数字分别取出来做处理。题目描述:让我们用字母 B 来表示“百”、字母 S 表示“十”,用 12…n 来表示不为零的个位数字 n(<10),换个格式来输出任一个不超过 3 位的正整数。例如 234 应该被输出为 BBSSS1234,因为它有 2 个“百”、3 个“十”、以及个位的 4。输入格式:每个测试输入包含 1 个测试用例,给出正整数 n(<1000)。输出格式:每个测试用例的输出占一行,用

2020-05-18 11:58:31 146

原创 B1012 数字分类 (20分)【C语言】

B1012 数字分类 (20分)【C语言】原题链接题目描述:给定一系列正整数,请按要求对数字进行分类,并输出以下 5 个数字:A1= 能被 5 整除的数字中所有偶数的和;A2= 将被 5 除后余 1 的数字按给出顺序进行交错求和,即计算 n1-n2+n3-n4…;A3= 被 5 除后余 2 的数字的个数;A4= 被 5 除后余 3 的数字的平均数,精确到小数点后 1 位;A5= 被 5 除后余 4 的数字中最大数字。输入格式:每个输入包含 1 个测试用例。每个测试用例先给出一个不超过

2020-05-17 21:44:48 201

原创 B1008 数组元素循环右移问题 (20分)【C语言】

B1008 数组元素循环右移问题 (20分)【C语言】原题链接题目中虽然给出很多限制条件,比如不允许使用另外的数组,但是只要求输出最终的结果,因此不论用什么方法移动,只要结果正确即可。**我的移动方法:**先让前N-M个数字倒序,然后让后N个数字倒序,最终将整个数组倒序即可得到最终结果。(需要用到函数)**晴神的移动方法:**直接按题目要求输出数组的方法,比我的移动次数少了很多,更加简洁符合题目要求。注意!M可能等于0,因此要考虑M=0时直接输出整个数组。M可能大于N,向右移动N个位置等同于

2020-05-17 12:43:44 256

原创 B1046 划拳 (15分)【C语言】

B1046 划拳 (15分)【C语言】原题链接注意当两人划的数字相同时,两人一定同赢或同输,因此不需要考虑这种情况。题目描述:划拳是古老中国酒文化的一个有趣的组成部分。酒桌上两人划拳的方法为:每人口中喊出一个数字,同时用手比划出一个数字。如果谁比划出的数字正好等于两人喊出的数字之和,谁就赢了,输家罚一杯酒。两人同赢或两人同输则继续下一轮,直到唯一的赢家出现。下面给出甲、乙两人的划拳记录,请你统计他们最后分别喝了多少杯酒。输入格式:输入第一行先给出一个正整数 N(≤100),随后 N 行,每行给

2020-05-16 12:50:05 195

原创 B1026 程序运行时间 (15分)【C语言】

B1026 程序运行时间 (15分)【C语言】原题链接要注意单位换算(取余和除法)和四舍五入(可以用math.h下的round函数,也可以用if语句直接判断)。还需要注意:当时分为零的时候也要写出来两个0。题目描述:要获得一个 C 语言程序的运行时间,常用的方法是调用头文件 time.h,其中提供了 clock() 函数,可以捕捉从程序开始运行到 clock() 被调用时所耗费的时间。这个时间单位是 clock tick,即“时钟打点”。同时还有一个常数 CLK_TCK,给出了机器时钟每秒所走的时

2020-05-16 12:37:35 118

原创 B1016 部分A+B (15分)【C语言】

B1016 部分A+B (15分)【C语言】原题链接需要注意所给数据范围!以及循环结束的条件!题目描述:正整数 A 的“D​A(为 1 位整数)部分”定义为由 A 中所有 D​A组成的新整数P​A。例如:给定 A=3862767,D​A=6,则 A 的“6 部分”P​A是 66,因为 A 中有 2 个 6。现给定 A、D​A 、B、D​B,请编写程序计算 P​A +PB 。输入格式:输入在一行中依次给出 A、D​A、B、D​B ,中间以空格分隔,其0<A,B<10​ 10。输出格

2020-05-16 12:18:35 366

原创 B1011 A+B 和 C (15分)【C语言】

B1011 A+B 和 C (15分)【C语言】原题链接需要注意题目中所给数据范围是[-2 31,2 31],而int型的数据范围是[-2 31,2 31-1],最大值超过int型数据的范围,并且两个int型数据相加也可能超过int型,因此在本题中需使用long long 作为ABC的数据类型。题目描述:给定区间 [−2​ 31,2 ​31] 内的 3 个整数 A、B 和 C,请判断 A+B 是否大于 C。输入格式:输入第 1 行给出正整数 T (≤10),是测试用例的个数。随后给出 T 组测

2020-05-15 22:14:03 211

原创 B1001 害死人不偿命的(3n+1)猜想 (15分)【C语言】

B1001 害死人不偿命的(3n+1)猜想 (15分)原题链接题目描述:卡拉兹(Callatz)猜想:对任何一个正整数 n,如果它是偶数,那么把它砍掉一半;如果它是奇数,那么把 (3n+1) 砍掉一半。这样一直反复砍下去,最后一定在某一步得到 n=1。卡拉兹在 1950 年的世界数学家大会上公布了这个猜想,传说当时耶鲁大学师生齐动员,拼命想证明这个貌似很傻很天真的命题,结果闹得学生们无心学业,一心只证 (3n+1),以至于有人说这是一个阴谋,卡拉兹是在蓄意延缓美国数学界教学与科研的进展……我们今天

2020-05-15 21:46:58 138

原创 10-排序4 统计工龄 (20分)

10-排序4 统计工龄 (20分)原题链接题目分析:虽然题目出在排序板块,但是用数组来解决此问题,无论是从空间复杂度还是时间复杂度来说都是更合适的。将数组的下标作为工龄,每出现一次,数组值加一,最终输出值不为0的数组下标和值。(注意数组要初始化!)题目要求:给定公司N名员工的工龄,要求按工龄增序输出每个工龄段有多少员工。输入格式:输入首先给出正整数N(≤10​5​​),即员工总人数;随后给出N个整数,即每个员工的工龄,范围在[0, 50]。输出格式:按工龄的递增顺序输出每个工龄的员工个数

2020-05-14 21:39:48 343

原创 11-散列2 Hashing (25分)

11-散列2 Hashing (25分)原题链接题目要求利用散列函数(H(key)=key%TSize)来建立散列表,其中冲突解决方法是只有正向的平方探测法。要求输出每个数字在表中的位置(位置从0开始定义),数字间用空格隔开,最后不能有空格,如果不能输入,则用“-”代替。难点如何判断一个数字无法插入(平方探测,每次的值为1^2, 2^2, 3^2, ……,TableSize^2, ……,...

2020-05-07 19:17:52 299

原创 11-散列1 电话聊天狂人 (25分)

11-散列1 电话聊天狂人 (25分)看了姥姥的数据结构小白专场,把代码组合起来的,方便自己以后查看。原题链接给定大量手机用户通话记录,找出其中通话次数最多的聊天狂人。输入格式:输入首先给出正整数N(≤10​5​​),为通话记录条数。随后N行,每行给出一条通话记录。简单起见,这里只列出拨出方和接收方的11位数字构成的手机号码,其中以空格分隔。输出格式:在一行中给出聊天狂人的手机号码及其...

2020-05-06 18:40:55 232

空空如也

空空如也

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

TA关注的人

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