- 博客(33)
- 收藏
- 关注
原创 7-5 插入排序还是归并排序
思路:这道题主要是将原始数组分别进行插入排序和归并排序,每次排序后就和所给数组做一下比较,用equal()函数,若是两个数组完全相同,则就是该排序算法。插入排序的每个步骤,就是把前k个数排序,然后下一轮k+1,再进行排序归并排序就是,先设立跨度 i ,每 i 个数排一次序,下一轮 i 乘以2,如此循环,直到与所给数组完全相同为止。原题:根据维基百科的定义:插入排序是迭代算法,逐一获得输入数据,逐步产生有序的输出序列。每步迭代中,算法从输入序列中取出一元素,将之插入有序序列中正确的位置。如此迭代直
2020-05-23 19:36:02
925
原创 7-8 N皇后 (28分)
在N*N的方格棋盘放置了N个皇后,使得它们不相互攻击(即任意2个皇后不允许处在同一排,同一列,也不允许处在与棋盘边框成45角的斜线上。 你的任务是,对于给定的N,求出有多少种合法的放置方法输入格式:共有若干行,每行一个正整数N≤10,表示棋盘和皇后的数量;输出格式:共有若干行,每行一个正整数,表示对应输入行的皇后的不同放置数量输入样例:在这里给出一组输入。例如:185输出样例:...
2020-04-25 16:53:34
641
原创 7-8 社交集群 (30分)
这是一道很典型的并查集问题每一个人用第一个兴趣编号作为代表,将每个人的兴趣编号用并查集合并起来,这样有相同兴趣的人就被分在了一个组,然后遍历每一个人,查找他的代表兴趣的根节点,然后用一个数组算出每个圈子有多少人,用set集合统计圈子个数。写完运行时,输出的第二行总是一堆很长很长的数字,百度之后发现是因为排序函数的输入变量和整体的变量重名了,改一下就好啦~~~但其实浪费了很多时间。。。原题:...
2020-04-13 22:29:00
746
原创 7-7 旅游规划 (25分)
这道题就是用迪杰斯特拉算法求单元点最短路径,当时没写出来,很经典的算法,一定要掌握 !!!有了一张自驾旅游路线图,你会知道城市间的高速公路长度、以及该公路要收取的过路费。现在需要你写一个程序,帮助前来咨询的游客找一条出发地和目的地之间的最短路径。如果有若干条路径都是最短的,那么需要输出最便宜的一条路径。输入格式:输入说明:输入数据的第1行给出4个正整数N、M、S、D,其中N(2≤N≤500)...
2020-04-11 18:32:20
2299
原创 L2-027 名人堂与代金券 (25分)
这道题还是比较容易写出来的,就是一些细节需要注意。我开始用的是map存储。但是排序时真滴好麻烦啊!!!最后写出来也只得了22分,因为不会在map中把字符串按字母排列。。。百度了一下,发现大家好像都是用的结构体数组,于是改了好久,,,So,以后尽量少用少用少用map!!!需要注意排序函数中,按字母比较字符串时,需要用到strcmp()函数。用法。。。原题:对于在中国大学MOOC(http:/...
2020-03-28 19:58:23
277
原创 L2-031 深入虎穴 (25分)
方法比较简单,但是只得了22分,最后一个测试点超时。。原题著名的王牌间谍 007 需要执行一次任务,获取敌方的机密情报。已知情报藏在一个地下迷宫里,迷宫只有一个入口,里面有很多条通路,每条路通向一扇门。每一扇门背后或者是一个房间,或者又有很多条路,同样是每条路通向一扇门…… 他的手里有一张表格,是其他间谍帮他收集到的情报,他们记下了每扇门的编号,以及这扇门背后的每一条通路所到达的门的编号。0...
2020-03-28 16:40:30
263
原创 L2-030 冰岛人 (25分)
这道题需注意的是,题中说 “五代以内无公共祖先”是指两人的公共祖先(如果存在的话)必须比任何一方的曾祖父辈分高。所以即使一个人的父亲是另一个人的曾曾曾曾曾曾曾曾。。。祖父,那他们也是不可以!!我写的答案测试点三错误,测试点六超时。。。不想再改了,,,,原题:2018年世界杯,冰岛队因1:1平了强大的阿根廷队而一战成名。好事者发现冰岛人的名字后面似乎都有个“松”(son),于是有网友科...
2020-03-27 22:11:29
521
原创 L2-020 功夫传人 (25分)
太奇妙了,,本来test()函数中遍历时用的是 *it ,不知道为啥总是输出不了结果,改为for(int i = 0;i<v[x].size();i++)就能输出正确结果,我,,,,,咱也不清楚是为啥。。。原题一门武功能否传承久远并被发扬光大,是要看缘分的。一般来说,师傅传授给徒弟的武功总要打个折扣,于是越往后传,弟子们的功夫就越弱…… 直到某一支的某一代突然出现一个天分特别高的弟子(...
2020-03-26 23:11:38
127
原创 L2-011 玩转二叉树 (25分)
这次的方法比网上大多数都更简洁,但是我要是用数组来存储各个节点的值,输出的最后一个数总是不正确;换成map就对了;咱也不清楚是为啥。。。原题:给定一棵二叉树的中序遍历和前序遍历,请你先将树做个镜面反转,再输出反转后的层序遍历的序列。所谓镜面反转,是指将所有非叶结点的左右孩子对换。这里假设键值都是互不相等的正整数。输入格式:输入第一行给出一个正整数N(≤30),是二叉树中结点的个数。第二行...
2020-03-26 18:24:20
435
原创 L1-009 N个数求和 (20分)(有问题。。。待改)
这道题,测试点始终不能全过。。。我枯了。。。本题的要求很简单,就是求N个数字的和。麻烦的是,这些数字是以有理数分子/分母的形式给出的,你输出的和也必须是有理数的形式。输入格式:输入第一行给出一个正整数N(≤100)。随后一行按格式a1/b1 a2/b2 …给出N个有理数。题目保证所有分子和分母都在长整型范围内。另外,负数的符号一定出现在分子前面。输出格式:输出上述数字和的最简形式 ——...
2020-03-22 15:16:23
595
原创 L1-006 连续因子 (20分)
一个正整数 N 的因子中可能存在若干连续的数字。例如 630 可以分解为 3×5×6×7,其中 5、6、7 就是 3 个连续的数字。给定任一正整数 N,要求编写程序求出最长连续因子的个数,并输出最小的连续因子序列。输入格式:输入在一行中给出一个正整数 N(1<N<231)。输出格式:首先在第 1 行输出最长连续因子的个数;然后在第 2 行中按 因子1因子2……*因子k...
2020-03-22 12:20:29
153
原创 L1-050 倒数第N个字符串 (15分)
这道题先把倒数转为正数第几个,然后就相当于找第几个26进制数给定一个完全由小写英文字母组成的字符串等差递增序列,该序列中的每个字符串的长度固定为 L,从 L 个 a 开始,以 1 为步长递增。例如当 L 为 3 时,序列为 { aaa, aab, aac, …, aaz, aba, abb, …, abz, …, zzz }。这个序列的倒数第27个字符串就是 zyz。对于任意给定的 L,本题要...
2020-03-22 10:29:33
109
原创 L2-014 列车调度 (25分)
只需要判断每条轨道上末尾的列车里,是否有比当前列车序号大的,若有,则找到序号差最小的,放进去;否则只能增加一条轨道。关于算法的实现,若是用数组和for循环,则会超时。可以用set集合实现erase(iterator) ,删除定位器iterator指向的值erase(first,second),删除定位器first和second之间的值erase(key_value),删除键值key_v...
2020-03-19 15:37:46
329
原创 L2-013 红色警报 (25分)
这道题总体来说,就是找去掉一个节点后的连通分支数是否改变。虽然题目中说有可能原图就不是连通的,是多个分裂的区域。但我们只需要判断去掉某一个点后,与该点相连的点(之前在一个连通分支里),现在是几个连通分支。如果还是1,则说明并未改变原图的连通性,否则,若是大于等于2,则说明去掉的这一点使得原来连通的点分裂了!—————————————————————————原题如下:战争中保持各个城市间的连通...
2020-03-18 22:08:48
236
原创 L1-039 古风排版 (20分)
这道题找对方法还是比较容易的,就是自己做题太马虎了,耽误了时间。。。————————————————————————原题:中国的古人写文字,是从右向左竖向排版的。本题就请你编写程序,把一段文字按古风排版。输入格式:输入在第一行给出一个正整数N(<100),是每一列的字符数。第二行给出一个长度不超过1000的非空字符串,以回车结束。输出格式:按古风格式排版给定的字符串,每列N个字...
2020-03-16 21:43:28
91
原创 L2-003 月饼 (25分)
这道题选对方法还是挺简单的就是提交后有一个测试点总是过不去,后来查了下,把结构体里的int全改为double就过去了,可能是精度原因。。。——————————————————————————原题:月饼是中国人在中秋佳节时吃的一种传统食品,不同地区有许多不同风味的月饼。现给定所有种类月饼的库存量、总售价、以及市场的最大需求量,请你计算可以获得的最大收益是多少。注意:销售时允许取出一部分库存...
2020-03-14 13:13:19
159
原创 L1-025 正整数A+B (15分)
这道题看似简单,其实需要注意的地方很多,改了几次才成功。1、把字符串转为数字的方法2、A和B的范围也要考虑到3、输入A和B时。按照题目的意思,A用cin , B用getline 。 如果B也用cin输入,若是B存在空格,就会出错。————————————————————————原题如下:题的目标很简单,就是求两个正整数A和B的和,其中A和B都在区间[1,1000]。稍微有点麻烦的是,输...
2020-03-13 23:47:48
132
原创 L1-034 点赞 (20分)
把这道题写在这,是因为发现了一个很巧妙的方法。一起做这道题时要么用map,要么一个一个比较找大小,排序时都比较麻烦。可以设两个相同数组,把其中一个数组排序后即可知道最大值是多少。查找和代码编写都很简洁。原题:微博上有个“点赞”功能,你可以为你喜欢的博文点个赞表示支持。每篇博文都有一些刻画其特性的标签,而你点赞的博文的类型,也间接刻画了你的特性。本题就要求你写个程序,通过统计一个人点赞的纪录,...
2020-03-13 21:06:40
266
原创 L1-027 出租 (20分)
下面是新浪微博上曾经很火的一张图:一时间网上一片求救声,急问这个怎么破。其实这段代码很简单,index数组就是arr数组的下标,index[0]=2 对应 arr[2]=1,index[1]=0 对应 arr[0]=8,index[2]=3 对应 arr[3]=0,以此类推…… 很容易得到电话号码是18013820100。本题要求你编写一个程序,为任何一个电话号码生成这段代码 —— 事实上,...
2020-03-11 16:24:55
803
原创 L2-002 链表去重 (25分)
给定一个带整数键值的链表 L,你需要把其中绝对值重复的键值结点删掉。即对每个键值 K,只有第一个绝对值等于 K 的结点被保留。同时,所有被删除的结点须被保存在另一个链表上。例如给定 L 为 21→-15→-15→-7→15,你需要输出去重后的链表 21→-15→-7,还有被删除的链表 -15→15。输入格式:输入在第一行给出 L 的第一个结点的地址和一个正整数 N(≤105,为结点总数)...
2020-03-06 13:30:10
1201
原创 L1-002 打印沙漏 (20分)
本题要求你写个程序把给定的符号打印成沙漏的形状。例如给定17个“*”,要求按下列格式打印***** *** * ********所谓“沙漏形状”,是指每行输出奇数个符号;各行符号中心对齐;相邻两行符号数差2;符号数先从大到小顺序递减到1,再从小到大顺序递增;首尾符号数相等。给定任意N个符号,不一定能正好组成一个沙漏。要求打印出的沙漏能用掉尽可能多的符号。输入格式:输入在一行给...
2020-03-06 10:49:38
149
原创 1014 福尔摩斯的约会 (20分)
这道题是PAT Basic Level,坑挺多的,必须先找到星期几后,再接着找第几个小时,注意各个if的条件,字母不是A到Z。而且找到星期后,必须用cintinue跳出此次循环,否则有可能满足“小时”的条件。本是一道20分的题,断断续续费了好久时间,还需要多刷题。在这里插入代码片...
2020-02-21 20:10:24
166
原创 7-9 人以群分
社交网络中我们给每个人定义了一个“活跃度”,现希望根据这个指标把人群分为两大类,即外向型(outgoing,即活跃度高的)和内向型(introverted,即活跃度低的)。要求两类人群的规模尽可能接近,而他们的总活跃度差距尽可能拉开。输入格式:输入第一行给出一个正整数N(2≤N≤105)。随后一行给出N个正整数,分别是每个人的活跃度,其间以空格分隔。题目保证这些数字以及它们的和都不会超过...
2020-02-20 11:09:11
357
原创 7-9 抢红包
没有人没抢过红包吧…… 这里给出N个人之间互相发红包、抢红包的记录,请你统计一下他们抢红包的收获。输入格式:输入第一行给出一个正整数N(≤104),即参与发红包和抢红包的总人数,则这些人从1到N编号。随后N行,第i行给出编号为i的人发红包的记录,格式如下:KN1P1⋯NKPK其中K(0≤K≤20)是发出去的红包个数,Ni是抢到红包的人的编号,Pi(...
2020-02-13 23:27:15
192
原创 7-5 重要的话说三遍
这道超级简单的题目没有任何输入。你只需要把这句很重要的话 —— “I’m gonna WIN!”——连续输出三遍就可以了。注意每遍占一行,除了每行的回车不能有任何多余字符。#include<bits/stdc++.h>using namespace std;int main(){ cout<<"I'm gonna WIN!"<<endl; ...
2020-02-12 10:53:01
174
原创 7-4 帅到没朋友
当芸芸众生忙着在朋友圈中发照片的时候,总有一些人因为太帅而没有朋友。本题就要求你找出那些帅到没有朋友的人。输入格式:输入第一行给出一个正整数N(≤100),是已知朋友圈的个数;随后N行,每行首先给出一个正整数K(≤1000),为朋友圈中的人数,然后列出一个朋友圈内的所有人——为方便起见,每人对应一个ID号,为5位数字(从00000到99999),ID间以空格分隔;之后给出一个正整数M(≤100...
2020-02-12 10:50:20
241
原创 7-3 谁先倒
划拳是古老中国酒文化的一个有趣的组成部分。酒桌上两人划拳的方法为:每人口中喊出一个数字,同时用手比划出一个数字。如果谁比划出的数字正好等于两人喊出的数字之和,谁就输了,输家罚一杯酒。两人同赢或两人同输则继续下一轮,直到唯一的赢家出现。下面给出甲、乙两人的酒量(最多能喝多少杯不倒)和划拳记录,请你判断两个人谁先倒。输入格式:输入第一行先后给出甲、乙两人的酒量(不超过100的非负整数),以空格分...
2020-02-12 10:25:15
127
原创 7-2 大笨钟
微博上有个自称“大笨钟V”的家伙,每天敲钟催促码农们爱惜身体早点睡觉。不过由于笨钟自己作息也不是很规律,所以敲钟并不定时。一般敲钟的点数是根据敲钟时间而定的,如果正好在某个整点敲,那么“当”数就等于那个整点数;如果过了整点,就敲下一个整点数。另外,虽然一天有24小时,钟却是只在后半天敲1~12下。例如在23:00敲钟,就是“当当当当当当当当当当当”,而到了23:01就会是“当当当当当当当当当当当当...
2020-02-12 09:55:15
195
原创 2019新生集训第二场 7-1 到底有多二
一个整数“犯二的程度”定义为该数字中包含2的个数与其位数的比值。如果这个数是负数,则程度增加0.5倍;如果还是个偶数,则再增加1倍。例如数字-13142223336是个11位数,其中有3个2,并且是负数,也是偶数,则它的犯二程度计算为:3/11×1.5×2×100%,约为81.82%。本题就请你计算一个给定整数到底有多二。输入格式:输入第一行给出一个不超过50位的整数N。输出格式:在一行中...
2020-02-12 09:34:43
80
原创 2019新生集训第一场 7-1 N个数求和
这道题中用到的求最大公约数的方法要牢记!原题如下:本题的要求很简单,就是求N个数字的和。麻烦的是,这些数字是以有理数分子/分母的形式给出的,你输出的和也必须是有理数的形式。输入格式:输入第一行给出一个正整数N(≤100)。随后一行按格式a1/b1 a2/b2 …给出N个有理数。题目保证所有分子和分母都在长整型范围内。另外,负数的符号一定出现在分子前面。输出格式:输出上述数字和的最简形式...
2020-02-09 14:55:09
180
原创 2019新生集训第一场 7-13 肿瘤诊断
刚做时没有思路,上网查了下,先是用深度优秀搜索,果然显示段错误~溢出了;之后用广度优秀搜索AC原题如下:在诊断肿瘤疾病时,计算肿瘤体积是很重要的一环。给定病灶扫描切片中标注出的疑似肿瘤区域,请你计算肿瘤的体积。输入格式:输入第一行给出4个正整数:M、N、L、T,其中M和N是每张切片的尺寸(即每张切片是一个M×N的像素矩阵。最大分辨率是1286×128);L(≤60)是切片的张数;T是一个整...
2020-02-08 00:05:15
267
原创 2019新生集训第一场 7-11 家庭房产(有问题)
我写的答案有问题,开始时用set容器装最终所有的户主,测试点3段错误。我又把set改为数组,结果测试点1答案错误。这道题浪费太多时间啦,先把题放在这吧,过阵子再琢磨琢磨。给定每个人的家庭成员和其自己名下的房产,请你统计出每个家庭的人口数、人均房产面积及房产套数。输入格式:输入第一行给出一个正整数N(≤1000),随后N行,每行按下列格式给出一个人的房产:编号 父 母 k 孩子1 … 孩子...
2020-02-07 22:01:55
205
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人