![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
_努力努力再努力_
如果你吃不了学习的苦,那就只能吃生活的苦
展开
-
用数组来实现堆栈
package Demo24;import java.util.Stack;public class StackTest { private int[] date = new int[10]; private int index; public boolean push(int d) {//放入元素入栈 if(index < date.length) { date[index] = d; index++;原创 2021-05-29 20:23:54 · 352 阅读 · 0 评论 -
L2-001 紧急救援 (25 分)(Dijkstra,找路径,详解)
作为一个城市的应急救援队伍的负责人,你有一张特殊的全国地图。在地图上显示有多个分散的城市和一些连接城市的快速道路。每个城市的救援队数量和每一条连接两个城市的快速道路长度都标在地图上。当其他城市有紧急求助电话给你的时候,你的任务是带领你的救援队尽快赶往事发地,同时,一路上召集尽可能多的救援队。输入格式:输入第一行给出4个正整数N、M、S、D,其中N(2≤N≤500)是城市的个数,顺便假设城市的编号为0 ~ (N−1);M是快速道路的条数;S是出发地的城市编号;D是目的地的城市编号。第二行给出N个正整数,原创 2021-04-29 09:49:21 · 353 阅读 · 1 评论 -
L1-5 大笨钟的心情 (15 分)
有网友问:未来还会有更多大笨钟题吗?笨钟回复说:看心情……本题就请你替大笨钟写一个程序,根据心情自动输出回答。输入格式:输入在一行中给出 24 个 [0, 100] 区间内的整数,依次代表大笨钟在一天 24 小时中,每个小时的心情指数。随后若干行,每行给出一个 [0, 23] 之间的整数,代表网友询问笨钟这个问题的时间点。当出现非法的时间点时,表示输入结束,这个非法输入不要处理。题目保证至少有 1 次询问。输出格式:对每一次提问,如果当时笨钟的心情指数大于 50,就在一行中输出 心情指数 Ye.原创 2021-04-28 18:15:27 · 1464 阅读 · 0 评论 -
L1-4 降价提醒机器人 (10 分)(java)
小 T 想买一个玩具很久了,但价格有些高,他打算等便宜些再买。但天天盯着购物网站很麻烦,请你帮小 T 写一个降价提醒机器人,当玩具的当前价格比他设定的价格便宜时发出提醒。输入格式:输入第一行是两个正整数 N 和 M (1≤N≤100,0≤M≤1000),表示有 N 条价格记录,小 T 设置的价格为 M。接下来 N 行,每行有一个实数 P (−1000.0<Pi <1000.0),表示一条价格记录。输出格式:对每一条比设定价格 M 便宜的价格记录 P,在一行中输出 On Sa原创 2021-04-28 17:45:16 · 437 阅读 · 0 评论 -
L1-3 强迫症 (10 分)(Java)
小强在统计一个小区里居民的出生年月,但是发现大家填写的生日格式不统一,例如有的人写 199808,有的人只写 9808。有强迫症的小强请你写个程序,把所有人的出生年月都整理成 年年年年-月月 格式。对于那些只写了年份后两位的信息,我们默认小于 22 都是 20 开头的,其他都是 19 开头的。输入格式:输入在一行中给出一个出生年月,为一个 6 位或者 4 位数,题目保证是 1000 年 1 月到 2021 年 12 月之间的合法年月。输出格式:在一行中按标准格式 年年年年-月月 将输入的信息整理输出原创 2021-04-28 17:06:18 · 632 阅读 · 0 评论 -
L2-3 清点代码库 (25 分)
上图转自新浪微博:“阿里代码库有几亿行代码,但其中有很多功能重复的代码,比如单单快排就被重写了几百遍。请设计一个程序,能够将代码库中所有功能重复的代码找出。各位大佬有啥想法,我当时就懵了,然后就挂了。。。”这里我们把问题简化一下:首先假设两个功能模块如果接受同样的输入,总是给出同样的输出,则它们就是功能重复的;其次我们把每个模块的输出都简化为一个整数(在 int 范围内)。于是我们可以设计一系列输入,检查所有功能模块的对应输出,从而查出功能重复的代码。你的任务就是设计并实现这个简化问题的解决方案。输入.原创 2021-04-28 10:57:37 · 302 阅读 · 0 评论 -
L2-2 病毒溯源 (25 分)(Dfs详细解析)
病毒容易发生变异。某种病毒可以通过突变产生若干变异的毒株,而这些变异的病毒又可能被诱发突变产生第二代变异,如此继续不断变化。现给定一些病毒之间的变异关系,要求你找出其中最长的一条变异链。在此假设给出的变异都是由突变引起的,不考虑复杂的基因重组变异问题 —— 即每一种病毒都是由唯一的一种病毒突变而来,并且不存在循环变异的情况。输入格式:输入在第一行中给出一个正整数 N(≤104 ),即病毒种类的总数。于是我们将所有病毒从 0 到 N−1 进行编号。随后 N 行,每行按以下格式描述一种病毒.原创 2021-04-28 10:26:25 · 5254 阅读 · 2 评论 -
L2-010 排座位 (25 分)(并查集,图示解析)
布置宴席最微妙的事情,就是给前来参宴的各位宾客安排座位。无论如何,总不能把两个死对头排到同一张宴会桌旁!这个艰巨任务现在就交给你,对任何一对客人,请编写程序告诉主人他们是否能被安排同席。输入格式:输入第一行给出3个正整数:N(≤100),即前来参宴的宾客总人数,则这些人从1到N编号;M为已知两两宾客之间的关系数;K为查询的条数。随后M行,每行给出一对宾客之间的关系,格式为:宾客1 宾客2 关系,其中关系为1表示是朋友,-1表示是死对头。注意两个人不可能既是朋友又是敌人。最后K行,每行给出一对需要查询的宾原创 2021-04-27 10:44:51 · 117 阅读 · 0 评论 -
L1-007 念数字 (10 分)
输入一个整数,输出每个数字对应的拼音。当整数为负数时,先输出fu字。十个数字对应的拼音如下:0: ling1: yi2: er3: san4: si5: wu6: liu7: qi8: ba9: jiu输入格式:输入在一行中给出一个整数,如:1234。提示:整数包括负数、零和正数。输出格式:在一行中输出这个整数对应的拼音,每个数字的拼音之间用空格分开,行末没有最后的空格。如 yi er san si。输入样例:-600输出样例:fu liu ling ling第原创 2021-04-26 09:44:06 · 61 阅读 · 0 评论 -
L2-016 愿天下有情人都是失散多年的兄妹 (25 分)(Dfs方法,详细解析)
呵呵。大家都知道五服以内不得通婚,即两个人最近的共同祖先如果在五代以内(即本人、父母、祖父母、曾祖父母、高祖父母)则不可通婚。本题就请你帮助一对有情人判断一下,他们究竟是否可以成婚?输入格式:输入第一行给出一个正整数N(2 ≤ N ≤104 ),随后N行,每行按以下格式给出一个人的信息:本人ID 性别 父亲ID 母亲ID其中ID是5位数字,每人不同;性别M代表男性、F代表女性。如果某人的父亲或母亲已经不可考,则相应的ID位置上标记为-1。接下来给出一个正整数K,随后K行,每行给出一对有情人的原创 2021-04-26 09:24:41 · 468 阅读 · 0 评论 -
7-6 古风排版 (20分)
中国的古人写文字,是从右向左竖向排版的。本题就请你编写程序,把一段文字按古风排版。输入格式:输入在第一行给出一个正整数N(<100),是每一列的字符数。第二行给出一个长度不超过1000的非空字符串,以回车结束。输出格式:按古风格式排版给定的字符串,每列N个字符(除了最后一列可能不足N个)。输入样例:4This is a test case输出样例:asa Tst ihe tsi ce s#include <iostream>#include <stri原创 2021-01-25 11:57:28 · 716 阅读 · 0 评论 -
L1-070 吃火锅 (15 分)
以上图片来自微信朋友圈:这种天气你有什么破事打电话给我基本没用。但是如果你说“吃火锅”,那就厉害了,我们的故事就开始了。本题要求你实现一个程序,自动检查你朋友给你发来的信息里有没有 chi1 huo3 guo1。输入格式:输入每行给出一句不超过 80 个字符的、以回车结尾的朋友信息,信息为非空字符串,仅包括字母、数字、空格、可见的半角标点符号。当读到某一行只有一个英文句点 . 时,输入结束,此行不算在朋友信息里。输出格式:首先在一行中输出朋友信息的总条数。然后对朋友的每一行信息,检查其中是否包含.原创 2021-04-23 10:17:55 · 82 阅读 · 0 评论 -
L1-071 前世档案 (20 分)
网络世界中时常会遇到这类滑稽的算命小程序,实现原理很简单,随便设计几个问题,根据玩家对每个问题的回答选择一条判断树中的路径(如下图所示),结论就是路径终点对应的那个结点。现在我们把结论从左到右顺序编号,编号从 1 开始。这里假设回答都是简单的“是”或“否”,又假设回答“是”对应向左的路径,回答“否”对应向右的路径。给定玩家的一系列回答,请你返回其得到的结论的编号。输入格式:输入第一行给出两个正整数:N(≤30)为玩家做一次测试要回答的问题数量;M(≤100)为玩家人数。随后 M 行,每行顺次给出玩原创 2021-04-23 09:45:37 · 102 阅读 · 0 评论 -
L1-072 刮刮彩票 (20 分)(离谱)
刮刮彩票”是一款网络游戏里面的一个小游戏。如图所示:每次游戏玩家会拿到一张彩票,上面会有 9 个数字,分别为数字 1 到数字 9,数字各不重复,并以 3×3 的“九宫格”形式排布在彩票上。在游戏开始时能看见一个位置上的数字,其他位置上的数字均不可见。你可以选择三个位置的数字刮开,这样玩家就能看见四个位置上的数字了。最后玩家再从 3 横、3 竖、2 斜共 8 个方向中挑选一个方向,方向上三个数字的和可根据下列表格进行兑奖,获得对应数额的金币。数字合计 获得金币 数字合计 获得金币现在请你写出一个模原创 2021-04-23 09:13:59 · 258 阅读 · 0 评论 -
L2-024 部落 (25 分)(并查集问题,详细解析)
在一个社区里,每个人都有自己的小圈子,还可能同时属于很多不同的朋友圈。我们认为朋友的朋友都算在一个部落里,于是要请你统计一下,在一个给定社区中,到底有多少个互不相交的部落?并且检查任意两个人是否属于同一个部落。输入格式:输入在第一行给出一个正整数N(≤104 ),是已知小圈子的个数。随后N行,每行按下列格式给出一个小圈子里的人:K P[1] P[2] ⋯ P[K]其中K是小圈子里的人数,P[i](i=1,⋯,K)是小圈子里每个人的编号。这里所有人的编号从1开始连续编号,最大编号不会超过104原创 2021-04-22 15:07:39 · 361 阅读 · 2 评论 -
算法笔记----好朋友(并查集问题)
输入样例:4 21 42 3输出样例2输入样例7 51 22 33 11 45 6输出样例3查并集问题,每次输入好朋友的时候,如果不在一个集合就合并,找到每个集合的根节点(father[i]=i)的,有几个根节点就有几个集合(对于同一个集合来说,只存放一个根节点,且将其作为所属集合的表识)算法笔记里还用了路径压缩,不过我现在还看不懂,打算二刷算法笔记的时候再看!!加油#include<iostream>#include<string>#.原创 2021-04-22 09:46:01 · 192 阅读 · 1 评论 -
L2-004 这是二叉搜索树吗? (25 分)
一棵二叉搜索树可被递归地定义为具有下列性质的二叉树:对于任一结点,其左子树中所有结点的键值小于该结点的键值;其右子树中所有结点的键值大于等于该结点的键值;其左右子树都是二叉搜索树。所谓二叉搜索树的“镜像”,即将所有结点的左右子树对换位置后所得到的树。给定一个整数键值序列,现请你编写程序,判断这是否是对一棵二叉搜索树或其镜像进行前序遍历的结果。输入格式:输入的第一行给出正整数 N(≤1000)。随后一行给出 N 个整数键值,其间以空格分隔。输出格式:如果输入序列是对一棵二叉搜索树或其镜像进行原创 2021-04-21 16:30:06 · 95 阅读 · 0 评论 -
1003 Emergency (25 分)(Dijkstra,中文详细解析)
As an emergency rescue team leader of a city, you are given a special map of your country. The map shows several scattered cities connected by some roads. Amount of rescue teams in each city and the length of each road between any pair of cities are marked原创 2021-04-21 15:24:31 · 270 阅读 · 0 评论 -
二分法查找有序序列中第一个大于目标值的位置
与大于等于不同,此时输出的是r(被夹出来的位置)#include<iostream>#include<string>#include<algorithm>#include<bits/stdc++.h>#include<stack>#include<set>#include<vector>#include<map>#include<queue>#include<deque>原创 2021-04-20 10:44:39 · 682 阅读 · 0 评论 -
二分法查找第一个大于等于目标元素的位置
具体思路与二分查找很像,只有细节不一样下面是分析#include<iostream>#include<string>#include<algorithm>#include<bits/stdc++.h>#include<stack>#include<set>#include<vector>#include<map>#include<queue>#include<deque&原创 2021-04-20 10:30:54 · 729 阅读 · 0 评论 -
Dijkstra算法笔记例题
题目:见算法笔记第375页输入数据6 8 00 1 10 3 40 4 41 3 22 5 13 2 23 4 34 5 3一下是用邻接表存储#include<iostream>#include<string>#include<algorithm>#include<bits/stdc++.h>#include<stack>#include<set>#include<vector>#in原创 2021-04-20 09:17:16 · 352 阅读 · 0 评论 -
7-8 三足鼎立 (25分)
当三个国家中的任何两国实力之和都大于第三国的时候,这三个国家互相结盟就呈“三足鼎立”之势,这种状态是最稳定的。现已知本国的实力值,又给出 n 个其他国家的实力值。我们需要从这 n 个国家中找 2 个结盟,以成三足鼎立。有多少种选择呢?输入格式:输入首先在第一行给出 2 个正整数 n(2≤n≤105 )和 P(≤109 ),分别为其他国家的个数、以及本国的实力值。随后一行给出 n 个正整数,表示n 个其他国家的实力值。每个数值不超过 109 ,数字间以空格分隔。输出格式:在一行中输原创 2021-04-19 13:40:10 · 3036 阅读 · 5 评论 -
L1-006 连续因子 (20 分)(详解)
一个正整数 N 的因子中可能存在若干连续的数字。例如 630 可以分解为 3×5×6×7,其中 5、6、7 就是 3 个连续的数字。给定任一正整数 N,要求编写程序求出最长连续因子的个数,并输出最小的连续因子序列。输入格式:输入在一行中给出一个正整数 N(1<N<231 )。输出格式:首先在第 1 行输出最长连续因子的个数;然后在第 2 行中按 因子1因子2……*因子k 的格式输出最小的连续因子序列,其中因子按递增顺序输出,1 不算在内。输入样例:630输出样例:35*原创 2021-04-18 11:05:20 · 2683 阅读 · 2 评论 -
L1-002 打印沙漏 (20 分)
本题要求你写个程序把给定的符号打印成沙漏的形状。例如给定17个“*”,要求按下列格式打印***** *** * ********所谓“沙漏形状”,是指每行输出奇数个符号;各行符号中心对齐;相邻两行符号数差2;符号数先从大到小顺序递减到1,再从小到大顺序递增;首尾符号数相等。给定任意N个符号,不一定能正好组成一个沙漏。要求打印出的沙漏能用掉尽可能多的符号。输入格式:输入在一行给出1个正整数N(≤1000)和一个符号,中间以空格分隔。输出格式:首先打印出由给定符号组成的最大的沙漏形状,原创 2021-04-18 10:10:59 · 57 阅读 · 0 评论 -
7-15 最短路径之旅游规划 (10 分)(详细解析,单源迪杰斯特拉算法)
现有一张自驾旅游路线图,通过地图你会知道城市间的高速公路长度、以及该公路要收取的过路费。现在需要你写一个程序,帮助前来咨询的游客找一条出发地和目的地之间的最短路径。如果有若干条路径都是最短的,那么需要输出最便宜的一条路径。(注:该题目来源于浙江大学陈越老师题目,因为Java编译的时间和内存限制问题,暂时新增题目以便通过,如有能减少消耗的,也请不吝指导。)输入格式:输入说明:输入数据的第1行给出4个正整数N、M、S、D,其中N(2≤N≤500)是城市的个数,顺便假设城市的编号为0~(N−1);M是高速公路原创 2021-04-18 09:36:22 · 584 阅读 · 0 评论 -
7-14 最短路 (25 分)
小明同学来到西安工业大学后,听说了计算机学院有红细胞和网安两个协会,但是它们的招新比赛时间冲突了,小明同学只能选择一个去参加。小明同学开始的位置在图书馆(图中左上角且固定不变),由于小明同学不想多走路,所以他决定去距离自己最近的比赛地点。题目保证最短路径距离唯一且距离最近的协会一定存在通路。图书馆:字母’L’表示红细胞: 字母’R’表示网安:字母’S’表示障碍物:字母’X’表示可以走的路:字母’O’表示其中‘L’,‘R’,‘S’,‘O’均为可以走的路。图示红色为一条长度为7的最短路。输入格式原创 2021-04-18 08:50:06 · 331 阅读 · 0 评论 -
算法实现题 2-8 有重复元素的排列问题
´问题描述:设 R={ nr ,r , ,r 1 2 }是要进行排列的 n 个元素。其中元素 nr ,r , ,r 1 2 可能相同。试设计一个算法,列出 R 的所有不同排列。´编程任务:给定 n 以及待排列的 n 个元素。计算出这 n 个元素的所有不同排列。´数据输入:由文件 input.txt 提供输入数据。文件的第 1 行是元素个数 n,1£n£500。接下来的 1 行是待排列的 n 个元素。´结果输出:程序运行结束时,将计算出的 n 个元素的所有不同排列输出到文件 ou原创 2021-04-16 10:51:47 · 273 阅读 · 0 评论 -
7-23 还原二叉树 (25 分)
给定一棵二叉树的先序遍历序列和中序遍历序列,要求计算该二叉树的高度。输入格式:输入首先给出正整数N(≤50),为树中结点总数。下面两行先后给出先序和中序遍历序列,均是长度为N的不包含重复英文字母(区别大小写)的字符串。输出格式:输出为一个整数,即该二叉树的高度。输入样例:9ABDFGHIECFDHGIBEAC输出样例:5用的非递归求的高度,用的广度优先搜索#include<iostream>#include<string>#include<alg原创 2021-04-15 10:58:43 · 231 阅读 · 0 评论 -
深搜广度搜解决迷宫问题
一下是分析:#include<iostream>#include<string>#include<algorithm>#include<bits/stdc++.h>#include<stack>#include<set>#include<vector>#include<map>#include<queue>#include<deque>#include<cc..原创 2021-04-14 16:18:31 · 137 阅读 · 0 评论 -
7-6 列出连通集 (25 分)(超详细图解法,看不懂你捶我)
给定一个有N个顶点和E条边的无向图,请用DFS和BFS分别列出其所有的连通集。假设顶点从0到N−1编号。进行搜索时,假设我们总是从编号最小的顶点出发,按编号递增的顺序访问邻接点。输入格式:输入第1行给出2个整数N(0<N≤10)和E,分别是图的顶点数和边数。随后E行,每行给出一条边的两个端点。每行中的数字之间用1空格分隔。输出格式:按照"{ v1 v2 … vk }"的格式,每行输出一个连通集。先输出DFS的结果,再输出BFS的结果。输入样例:8 60 70 1原创 2021-04-13 12:05:37 · 1096 阅读 · 0 评论 -
深度优先搜索应用题(算法笔记例题)
#include <iostream>#include <string>#include<algorithm>#include<bits/stdc++.h>#include<stack>#include<set>#include <vector>#include <map>#include<queue>#include<deque>#include<cctype.原创 2021-04-13 10:24:05 · 315 阅读 · 0 评论 -
统计数字
#include <iostream>#include <string>#include<algorithm>#include<bits/stdc++.h>#include<stack>#include<set>#include <vector>#include <map>#include<queue>#include<deque>#include<cctype&原创 2021-04-12 16:14:48 · 110 阅读 · 0 评论 -
L2-002 链表去重 (25 分)(详细解析,看不懂捶我)
给定一个带整数键值的链表 L,你需要把其中绝对值重复的键值结点删掉。即对每个键值 K,只有第一个绝对值等于 K 的结点被保留。同时,所有被删除的结点须被保存在另一个链表上。例如给定 L 为 21→-15→-15→-7→15,你需要输出去重后的链表 21→-15→-7,还有被删除的链表 -15→15。输入格式:输入在第一行给出 L 的第一个结点的地址和一个正整数 N(≤105 ,为结点总数)。一个结点的地址是非负的 5 位整数,空地址 NULL 用 −1 来表示。随后 N 行,每行按以下格式描述一原创 2021-04-12 11:17:37 · 4317 阅读 · 3 评论 -
L2-022 重排链表 (25 分)(测试点3,超级详细解析,看不懂捶我)
给定一个单链表 L1 →L2 →⋯→Ln−1 →Ln ,请编写程序将链表重新排列为 Ln →L1 →Ln−1 →L2 →⋯。例如:给定L为1→2→3→4→5→6,则输出应该为6→1→5→2→4→3。输入格式:每个输入包含1个测试用例。每个测试用例第1行给出第1个结点的地址和结点总个数,即正整数N (≤105 )。结点的地址是5位非负整数,NULL地址用−1表示。接下来有N行,每行格式为:Address Data Next其中Address是结点地址;D原创 2021-04-12 10:39:08 · 2586 阅读 · 7 评论 -
L2-008 最长对称子串 (25 分)(详细解析,分奇数偶数情况)
对给定的字符串,本题要求你输出最长对称子串的长度。例如,给定Is PAT&TAP symmetric?,最长对称子串为s PAT&TAP s,于是你应该输出11。输入格式:输入在一行中给出长度不超过1000的非空字符串。输出格式:在一行中输出最长对称子串的长度。输入样例:Is PAT&TAP symmetric?输出样例:11我记得以前写过,突然忘了,查了一下以前的居然发现运行超时!还是得找一个时间复杂度更低的代码,下面是分奇数情况和偶数情况来进行讨论的,由于每原创 2021-04-12 09:50:02 · 579 阅读 · 0 评论 -
部分和问题:
给定整数 a 1 a_1 a 1 , a 2 a_2 a 2 , … \dots …, a n a_n a n ,判断是否可以从中选出若干数,使得它们的和恰好等于 k k k。第一行输入一个整数 n n n,表示有几个数据第二行输入 n n n个整数,表示 a i a_i a第三行输入一个整数,表示 k k k限制条件:1 ≤ n ≤ 20 1\leq n \leq 20 1≤n≤2− 1 0 8 ≤ a i ≤ 1 0 8 -10^8 \leq a_i \leq 10^8 −10原创 2021-04-11 14:42:13 · 287 阅读 · 0 评论 -
L2-017 人以群分 (25 分)
社交网络中我们给每个人定义了一个“活跃度”,现希望根据这个指标把人群分为两大类,即外向型(outgoing,即活跃度高的)和内向型(introverted,即活跃度低的)。要求两类人群的规模尽可能接近,而他们的总活跃度差距尽可能拉开。输入格式:输入第一行给出一个正整数N(2≤N≤105 )。随后一行给出N个正整数,分别是每个人的活跃度,其间以空格分隔。题目保证这些数字以及它们的和都不会超过231 。输出格式:按下列格式输出:Outgoing #: N1Introverted #: N原创 2021-04-11 08:41:21 · 67 阅读 · 0 评论 -
L2-019 悄悄关注 (25 分)(详细解析)
新浪微博上有个“悄悄关注”,一个用户悄悄关注的人,不出现在这个用户的关注列表上,但系统会推送其悄悄关注的人发表的微博给该用户。现在我们来做一回网络侦探,根据某人的关注列表和其对其他用户的点赞情况,扒出有可能被其悄悄关注的人。输入格式:输入首先在第一行给出某用户的关注列表,格式如下:人数N 用户1 用户2 …… 用户N其中N是不超过5000的正整数,每个用户i(i=1, …, N)是被其关注的用户的ID,是长度为4位的由数字和英文字母组成的字符串,各项间以空格分隔。之后给出该用户点赞的信息:首先给出原创 2021-04-10 19:07:13 · 578 阅读 · 0 评论 -
L2-020 功夫传人 (25 分)(很详细解析,深度优先遍历,两个数组搞定)
一门武功能否传承久远并被发扬光大,是要看缘分的。一般来说,师傅传授给徒弟的武功总要打个折扣,于是越往后传,弟子们的功夫就越弱…… 直到某一支的某一代突然出现一个天分特别高的弟子(或者是吃到了灵丹、挖到了特别的秘笈),会将功夫的威力一下子放大N倍 —— 我们称这种弟子为“得道者”。这里我们来考察某一位祖师爷门下的徒子徒孙家谱:假设家谱中的每个人只有1位师傅(除了祖师爷没有师傅);每位师傅可以带很多徒弟;并且假设辈分严格有序,即祖师爷这门武功的每个第i代传人只能在第i-1代传人中拜1个师傅。我们假设已知祖师爷原创 2021-04-10 18:49:37 · 506 阅读 · 0 评论 -
L2-021 点赞狂魔 (25 分)
微博上有个“点赞”功能,你可以为你喜欢的博文点个赞表示支持。每篇博文都有一些刻画其特性的标签,而你点赞的博文的类型,也间接刻画了你的特性。然而有这么一种人,他们会通过给自己看到的一切内容点赞来狂刷存在感,这种人就被称为“点赞狂魔”。他们点赞的标签非常分散,无法体现出明显的特性。本题就要求你写个程序,通过统计每个人点赞的不同标签的数量,找出前3名点赞狂魔。输入格式:输入在第一行给出一个正整数N(≤100),是待统计的用户数。随后N行,每行列出一位用户的点赞标签。格式为“Name K F1 ⋯FK原创 2021-04-08 15:59:07 · 99 阅读 · 0 评论