数据结构的自我修养
文章平均质量分 55
主要包括用C语言写的数据结构的题目,后期可能会有少量C++,正在学习中。
摆烂.MVP
慧极必伤 情深不寿
展开
-
L2-040 哲哲打游戏 (25 分)
L2-040 哲哲打游戏 (25 分)哲哲是一位硬核游戏玩家。最近一款名叫《达诺达诺》的新游戏刚刚上市,哲哲自然要快速攻略游戏,守护硬核游戏玩家的一切!为简化模型,我们不妨假设游戏有N个剧情点,通过游戏里不同的操作或选择可以从某个剧情点去往另外一个剧情点。此外,游戏还设置了一些存档,在某个剧情点可以将玩家的游戏进度保存在一个档位上,读取存档后可以回到剧情点,重新进行操作或者选择,到达不同的剧情点。为了追踪硬核游戏玩家哲哲的攻略进度,你打算写一个程序来完成这个工作。假设你已经知道了游戏的全部剧..原创 2022-04-22 22:42:15 · 127 阅读 · 0 评论 -
7-47 欧拉函数 (10 分)
7-47 欧拉函数 (10 分)在数论中,对正整数n,欧拉函数ϕ(n)是小于或等于n的正整数中与n 互质的数的数目。此函数以其首名研究者欧拉命名,它又称为φ函数(由高斯所命名)输入格式:一个正整数n。输出格式:一个数,表示欧拉函数ϕ(n)。输入样例:10输出样例:4注释:表示10以内有4个数与10 互质,它们是:1,3,7,9ϕ(n)=ni=1∏r(1−1/pi), 其中,其中p1,p2……pr为n的所有质因数欧拉函数 (10 分)_他不原创 2022-04-21 09:02:51 · 121 阅读 · 0 评论 -
7-24 纸牌排序 (10 分)
7-24 纸牌排序 (10 分)小诺诺喜欢玩纸牌比大小的游戏。现在有一副牌中的若干张纸牌,需要按牌面的数字从大到小的顺序排列,若数字大小相同则按花色从大到小(黑桃>红桃>梅花>方块)排列。牌面为A、J、Q、K分别用1、11、12、13表示;花色中的黑桃、红桃、梅花、方块分别用英文单词"spade"、"heart"、"club"、"diamond"表示。输入格式:测试数据有多组,首先输入测试的组数T (0<T<10),然后是T组测试数据;每组测试输入一行,按“花色 数原创 2022-04-20 18:07:05 · 826 阅读 · 0 评论 -
7-51 并查集【模板】 (30 分)
7-51 并查集【模板】 (30 分)给出一个并查集,请完成合并和查询操作。输入格式:第一行包含两个整数N、M,表示共有N个元素和M个操作。接下来M行,每行包含三个整数Zi、Xi、Yi。当Zi=1时,将Xi与Yi所在的集合合并。当Zi=2时,输出Xi与Yi是否在同一集合内,是的话输出Y;否则的话输出N。输出格式:对于每一个Zi=2的操作,对应一行输出,每行包含一个大写字母,为Y或者N。输入样例:4 72 1 21 1 22 1 21 3原创 2022-04-20 17:08:00 · 151 阅读 · 0 评论 -
7-13 图的存储 (15 分)
7-13 图的存储 (15 分)输出给定图的邻接矩阵和邻接表。输入格式:输入第一行给出三个正整数,分别表示无向图的节点数N(1<N≤10)、边数M(≤50)和有向或无向标志S(1表示有向图,0表示无向图)。随后的M行对应M条边,每行给出一对正整数,分别是该条边直接连通的两个节点的编号。输出格式:首先输出图的邻接矩阵,即N行N列的元素值,有边其值为1,无边其值为0;以方阵形式输出,每个元素间有一个空格,末尾均有一空格。然后输出图的邻接表,从第0行开始按顺序输出,共输出N行,具原创 2022-04-15 09:54:15 · 1709 阅读 · 0 评论 -
7-12 功夫传人 (25 分)【DFS】
7-12 功夫传人 (25 分)一门武功能否传承久远并被发扬光大,是要看缘分的。一般来说,师傅传授给徒弟的武功总要打个折扣,于是越往后传,弟子们的功夫就越弱…… 直到某一支的某一代突然出现一个天分特别高的弟子(或者是吃到了灵丹、挖到了特别的秘笈),会将功夫的威力一下子放大N倍 —— 我们称这种弟子为“得道者”。这里我们来考察某一位祖师爷门下的徒子徒孙家谱:假设家谱中的每个人只有1位师傅(除了祖师爷没有师傅);每位师傅可以带很多徒弟;并且假设辈分严格有序,即祖师爷这门武功的每个第i代传人只能在第i-1原创 2022-04-14 21:43:13 · 251 阅读 · 0 评论 -
7-14 Relation (25 分)【并查集】
7-14 Relation (25 分)或许你并不知道,你的某个朋友是你的亲戚。他可能是你的曾祖父的外公的女婿的外甥女的表姐的孙子。如果能得到完整的家谱,判断两个人是否亲戚应该是可行的,但如果两个人的最近公共祖先与他们相隔好几代,使得家谱十分庞大,那么检验亲戚关系实非人力所能及。在这种情况下,最好的帮手就是计算机。为了将问题简化,你将得到一些亲戚关系的信息,如Marry和Tom是亲戚,Tom和Ben是亲戚,等等。从这些信息中,你可以推出Marry和Ben是亲戚。请写一个程序,对于我们的关于亲戚关系的提问原创 2022-04-14 18:08:54 · 86 阅读 · 0 评论 -
7-12 叶节点求和 (20 分)
7-12 叶节点求和 (20 分)对给定的有N个节点(N>=0)的二叉树,求叶节点元素之和。输入格式:第一行是一个非负整数N,表示有N个节点第二行是一个整数k,是树根的元素值接下来有N-1行,每行是一个新节点,格式为 r d e 三个整数,r表示该节点的父节点元素值(保证父节点存在);d是方向,0表示该节点为父节点的左儿子,1表示右儿子;e是该节点的元素值。输出格式:树中叶节点元素之和 (保证在整型变量范围之内)。输入样例:对于图片中的二叉树:320原创 2022-04-14 16:57:46 · 552 阅读 · 0 评论 -
7-11 约瑟夫问题变形 (10 分)
7-11 约瑟夫问题变形 (10 分)编号为1…N的N个小朋友玩游戏,他们按编号顺时针围成一圈,按顺时针次序报数,从第1个人报到第M个人出列;然后再从下个人开始报到第M+1个人出列;再从下一个人开始报到第M+2个人出列……以此类推不断循环,直至最后一人出列。请编写程序按顺序输出出列人的编号。输入格式:输入为2个整数,分别表示N、M(1≤N,M,K≤10000)。输出格式:输出为一行整数,为出列人的编号。每个整数后一个空格。输入样例1:6 3输出样例1:3 1 2原创 2022-04-10 19:30:47 · 378 阅读 · 0 评论 -
7-10 括号匹配 (10 分)【双端队列deque】
7-10 括号匹配 (10 分)请编写程序判断一个包含“(”和“)”的括号序列是否匹配。如匹配则输出Match;如不匹配,计算出使该序列变为匹配序列所需添加的最少括号数目(只允许在该序列开始和结尾处添加括号),并输出经添加最少括号后得到的合法匹配序列。输入格式:输入为若干行,每行一个字符串,包含不超过105个括号。输入行数不超过10行。输出格式:对于输入的每个括号序列输出1行或2行信息。若输入的括号序列匹配,则输出Match。若不匹配,则输出分为2行,第1行为一个整数,表示将该序列变为匹原创 2022-04-10 18:05:15 · 152 阅读 · 0 评论 -
7-9 列车调度
7-9 列车调度 (25分)火车站的列车调度铁轨的结构如下图所示。两端分别是一条入口(Entrance)轨道和一条出口(Exit)轨道,它们之间有N条平行的轨道。每趟列车从入口可以选择任意一条轨道进入,最后从出口离开。在图中有9趟列车,在入口处按照{8,4,2,5,3,9,1,6,7}的顺序排队等待进入。如果要求它们必须按序号递减的顺序从出口离开,则至少需要多少条平行铁轨用于调度?输入格式:输入第一行给出一个整数N (2 ≤ N ≤10e5 ),下一行给出从1到N的整数序号的一个重排列。数字原创 2021-01-18 18:55:03 · 703 阅读 · 0 评论 -
7-10 重排链表 (25分)
7-10 重排链表 (25分)给定一个单链表 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 (≤10e5 )。结点的地址是5位非负整数,NULL地址用−1表示。接下来有N行,每行格式为:Address Data原创 2021-01-21 16:12:57 · 691 阅读 · 1 评论 -
7-9 挑单词 (20 分)
7-9 挑单词 (20 分)输入若干行数据,每行只包含英文字符(不区分大小写)和数字字符,请找出所有的“单词”,这里所说的“单词”指的是长度大于等于3的连续英文字符构成的字符序列,并把找到的“单词”按字母序从大到小排列,若某个单词重复出现,在结果中只输出一次,若没有满足要求的单词,输出“no word"。输入格式:第一行给出总行数n,接下来n行给出由英文字符(不区分大小写)和数字字符组成的串,每行中字符数量不超过1000,每行以回车结束。输出格式:输出“单词”的降序序列,每个“单词”首字原创 2022-04-04 14:39:13 · 449 阅读 · 0 评论 -
7-8 编程团体赛 (20 分)
7-8 编程团体赛 (20 分)编程团体赛的规则为:每个参赛队由若干队员组成;所有队员独立比赛;参赛队的成绩为所有队员的成绩和;成绩最高的队获胜。现给定所有队员的比赛成绩,请你编写程序找出冠军队。输入格式:输入第一行给出一个正整数N(≤104),即所有参赛队员总数。随后N行,每行给出一位队员的成绩,格式为:队伍编号-队员编号 成绩,其中队伍编号为 1 到 1000 的正整数,队员编号为 1 到 10 的正整数,成绩为 0 到 100 的整数。输出格式:在一行中输出冠军队的编号和...原创 2022-04-04 02:00:00 · 335 阅读 · 0 评论 -
7-4 装箱问题 (20 分)
7-4 装箱问题 (20 分)假设有N项物品,大小分别为s1、s2、…、si、…、sN,其中si为满足1≤si≤100的整数。要把这些物品装入到容量为100的一批箱子(序号1-N)中。装箱方法是:对每项物品, 顺序扫描箱子,把该物品放入足以能够容下它的第一个箱子中。请写一个程序模拟这种装箱过程,并输出每个物品所在的箱子序号,以及放置全部物品所需的箱子数目。输入格式:输入第一行给出物品个数N(≤1000);第二行给出N个正整数si(1≤si≤100,表示第i项物品的大小)。输出原创 2022-04-03 05:00:00 · 287 阅读 · 0 评论 -
7-4 矩阵乘法 (25 分)
7-4 矩阵乘法 (25 分)给出一个大小为N1×M1的矩阵A和一个大小为N2×M2的矩阵B, 令矩阵C=A×B, 输出C.矩阵乘法的公式为Ci,j=k=1∑M1Ai,k∗Bk,j, 矩阵C的第i行第j列是Ci,j数据保证M1=N2输入格式:第一行输入两个正整数N1、M1(1≤N1,M1≤100)接下来N1行,每行M1个数,表示第一个矩阵接下来一行两个正整数N2、M2(1≤N2,M2≤100)接下来N2行,每行M2个数,表示第.原创 2022-04-01 21:55:10 · 248 阅读 · 0 评论 -
7-2 删除重复字符 (20 分)
7-2 删除重复字符 (20 分)本题要求编写程序,将给定字符串去掉重复的字符后,按照字符ASCII码顺序从小到大排序后输出。输入格式:输入是一个以回车结束的非空字符串(少于80个字符)。输出格式:输出去重排序后的结果字符串。输入样例:ad2f3adjfeainzzzv输出样例:23adefijnvz#include<bits/stdc++.h>using namespace std;int main(){ string ch;原创 2022-03-31 16:00:00 · 990 阅读 · 0 评论 -
L1-039 古风排版 (20 分)
7-6 古风排版 (20分)中国的古人写文字,是从右向左竖向排版的。本题就请你编写程序,把一段文字按古风排版。输入格式:输入在第一行给出一个正整数N(<100),是每一列的字符数。第二行给出一个长度不超过1000的非空字符串,以回车结束。输出格式:按古风格式排版给定的字符串,每列N个字符(除了最后一列可能不足N个)。输入样例:4This is a test case输出样例:asa Tst ihe tsice sAC#include<bits/stdc++.h>原创 2021-01-25 22:04:56 · 448 阅读 · 0 评论 -
7-6 哈利·波特的考试 (15 分)
7-6 哈利·波特的考试 (15 分)哈利·波特要考试了,他需要你的帮助。这门课学的是用魔咒将一种动物变成另一种动物的本事。例如将猫变成老鼠的魔咒是haha,将老鼠变成鱼的魔咒是hehe等等。反方向变化的魔咒就是简单地将原来的魔咒倒过来念,例如ahah可以将老鼠变成猫。另外,如果想把猫变成鱼,可以通过念一个直接魔咒lalala,也可以将猫变老鼠、老鼠变鱼的魔咒连起来念:hahahehe。现在哈利·波特的手里有一本教材,里面列出了所有的变形魔咒和能变的动物。老师允许他自己带一只动物去考场,要考察他把这原创 2022-03-29 13:29:58 · 281 阅读 · 0 评论 -
7-6 矩阵列平移 (20 分)
7-6 矩阵列平移 (20 分)给定一个n×n的整数矩阵。对任一给定的正整数k<n,我们将矩阵的偶数列的元素整体向下依次平移 1、……、k、1、……、k、…… 个位置,平移空出的位置用整数x补。你需要计算出结果矩阵的每一行元素的和。输入格式:输入第一行给出 3 个正整数:n(<100)、k(<n)、x(<100),分别如题面所述。接下来n行,每行给出n个不超过 100 的正整数,为矩阵元素的值。数字间以空格分隔。输出格式:在一行中输出平移后第...原创 2022-03-29 13:26:00 · 694 阅读 · 0 评论 -
7-21 三足鼎立 (25 分)
7-21 三足鼎立 (25 分)当三个国家中的任何两国实力之和都大于第三国的时候,这三个国家互相结盟就呈“三足鼎立”之势,这种状态是最稳定的。现已知本国的实力值,又给出n个其他国家的实力值。我们需要从这n个国家中找 2 个结盟,以成三足鼎立。有多少种选择呢?输入格式:输入首先在第一行给出 2 个正整数n(2≤n≤105)和P(≤109),分别为其他国家的个数、以及本国的实力值。随后一行给出n个正整数,表示n个其他国家的实力值。每个数值不超过109,数字间以空格分隔。输...原创 2022-03-26 10:13:10 · 2608 阅读 · 1 评论 -
7-22 寻找大富翁 (25 分)
7-22 寻找大富翁 (25 分)胡润研究院的调查显示,截至2017年底,中国个人资产超过1亿元的高净值人群达15万人。假设给出N个人的个人资产值,请快速找出资产排前M位的大富翁。输入格式:输入首先给出两个正整数N(≤106)和M(≤10),其中N为总人数,M为需要找出的大富翁数;接下来一行给出N个人的个人资产值,以百万元为单位,为不超过长整型范围的整数。数字间以空格分隔。输出格式:在一行内按非递增顺序输出资产排前M位的大富翁的个人资产值。数字间以空格分隔,但结尾不得有多余空格。...原创 2022-03-26 08:58:41 · 374 阅读 · 0 评论 -
L1-6 分配糖果 (15 分)
L1-6 分配糖果 (15 分)新的学期来了,幼儿园来了一些新的小朋友,小红老师要给他们分配糖果。总共有n个小朋友,下标从0到n−1, 小红老师有m个糖果要分配给他们,糖果的甜蜜度分别为b1,b2,b3,...,bm. 对于第i次分配,小红老师会把第i个糖果分配给下标为bimodn的小朋友。现在需要你依次输出下标从0到n−1这些小朋友获得的糖果数量,以及获得糖果的甜蜜度从小到大依次是多少。输入格式:第一行两个正整数n(1≤n≤100000)和m(1≤m≤200000)第二行有m原创 2022-03-17 20:29:37 · 465 阅读 · 0 评论 -
7-6字符与数字转化 校验ISBN-10编码 (10 分)
7-6字符与数字转化 校验ISBN-10编码 (10 分)图书使用国际标准书号(International Standard Book Number (ISBN-10))来编码,是一个 10 位码。前 9 位(0−9之间的数字)分别用于表示语言、出版商和 图书信息。第 10 位是校验位,可以是0−9之间的数字或者是字母 X (用于表示数字10);ISBN-10码可以通过下面方法进行验证:首先,对ISBN-10码的各个位按下面的计算式求和:1×x1+2×x2+3×x3+4×x.原创 2021-07-10 21:24:04 · 742 阅读 · 0 评论 -
7-8 回文子串 (10 分)
7-8 回文子串 (10 分)任务描述给定一个字符串,输出所有长度至少为2的回文子串。 回文子串即从左往右输出和从右往左输出结果是一样的字符串,比如:abba,cccdeedccc都是回文字符串。输入格式:一个字符串,由字母或数字组成。长度500以内。输出格式:输出所有的回文子串,每个子串一行。子串长度小的优先输出,若长度相等,则出现位置靠左的优先输出。输入样例:123321125775165561输出样例:33117755233221125原创 2021-04-22 10:41:06 · 817 阅读 · 0 评论 -
7-11 分解质因数 (20 分)
7-11 分解质因数 (20 分)求出区间[a,b]中所有整数的质因数分解。输入格式:输入两个整数a,b。数据规模和约定 2<=a<=b<=10000输出格式:每行输出一个数的分解,形如k=a1a2a3...(a1<=a2<=a3...,k也是从小到大的)(具体可看样例)输入样例:在这里给出一组输入。例如:3 10输出样例:在这里给出相应的输出。例如:3=34=2*25=56=2*37=78=2*2*29=3*31原创 2021-04-21 13:07:06 · 368 阅读 · 1 评论 -
7-4-1 set 集合的“交”与“并” (300分)
7-4-1 set 集合的“交”与“并” (300分)给出两个由数字组成的集合,请求这两个集合的“交”和“并”。输入格式:给一个n,m 代表两个数列的大小 (0 <= n,m <=2e5)如果n>0,则接下来一行, n个数空格隔开,代表第一个集合中的数。如果m>0,则接下来一行, m个数空格隔开,代表第二个集合中的数。-1e9<=ai,bi<=1e9输出格式:第一行首先输出两个数列交的集合中元素个数,如果元素个数大于0,则紧接着在这行输出“交集”的元素,按原创 2021-01-21 22:32:58 · 966 阅读 · 2 评论 -
7-3-2 sort 字符串排序--string类的使用 (300分)
7-3-2 sort 字符串排序–string类的使用 (300分)先输入你要输入的字符串的个数。然后换行输入该组字符串。每个字符串以回车结束,每个字符串不多于一百个字符。 如果在输入过程中输入的一个字符串为“stop”,也结束输入。 然后将这输入的该组字符串按每个字符串的长度,由小到大排序,按排序结果输出字符串。如果存在多个字符串长度相同,则按照原始输入顺序输出。输入格式:字符串的个数,以及该组字符串。每个字符串以‘\n’结束。如果输入字符串为“stop”,也结束输入.输出格式:可能有多组测试数原创 2021-01-21 22:08:06 · 1535 阅读 · 0 评论 -
7-5-1 map 统计英文单词个数 (300分)
7-5-1 map 统计英文单词个数 (300分)给出一篇英文文章,现在需要统计文章中出现英文单词的数量。输入格式:第一行一个T,代表数据组数对于每组数据,第一行一个n,代表文章中单词的个数,其后n行每行一个只包含小写字母的长度为1到10的字符串输出格式:每组数据输出若干行,每行输出单词以及它出现的次数(中间空格隔开),不同单词按单词字典序从小到大输出保证单词出现的总次数<=1e5输入样例:18itisapenitisadog输出样例:a 2dog 1is原创 2021-01-18 22:19:53 · 1906 阅读 · 3 评论 -
7-5 N个数求和【迷惑行为大赏】
7-5 N个数求和 (20分)本题的要求很简单,就是求N个数字的和。麻烦的是,这些数字是以有理数分子/分母的形式给出的,你输出的和也必须是有理数的形式。输入格式:输入第一行给出一个正整数N(≤100)。随后一行按格式a1/b1 a2/b2 …给出N个有理数。题目保证所有分子和分母都在长整型范围内。另外,负数的符号一定出现在分子前面。输出格式:输出上述数字和的最简形式 —— 即将结果写成整数部分 分数部分,其中分数部分写成分子/分母,要求分子小于分母,且它们没有公因子。如果结果的整数部分为0,则只输原创 2021-01-14 12:24:09 · 722 阅读 · 0 评论 -
7-8 点赞狂魔【set解法】
7-8 点赞狂魔 (25分)微博上有个“点赞”功能,你可以为你喜欢的博文点个赞表示支持。每篇博文都有一些刻画其特性的标签,而你点赞的博文的类型,也间接刻画了你的特性。然而有这么一种人,他们会通过给自己看到的一切内容点赞来狂刷存在感,这种人就被称为“点赞狂魔”。他们点赞的标签非常分散,无法体现出明显的特性。本题就要求你写个程序,通过统计每个人点赞的不同标签的数量,找出前3名点赞狂魔。输入格式:输入在第一行给出一个正整数N(≤100),是待统计的用户数。随后N行,每行列出一位用户的点赞标签。格式为“Nam原创 2021-01-14 11:25:20 · 282 阅读 · 0 评论 -
7-7 悄悄关注【map解题】
7-7 悄悄关注 (25分)新浪微博上有个“悄悄关注”,一个用户悄悄关注的人,不出现在这个用户的关注列表上,但系统会推送其悄悄关注的人发表的微博给该用户。现在我们来做一回网络侦探,根据某人的关注列表和其对其他用户的点赞情况,扒出有可能被其悄悄关注的人。输入格式:输入首先在第一行给出某用户的关注列表,格式如下:人数N 用户1 用户2 …… 用户N其中N是不超过5000的正整数,每个用户i(i=1, …, N)是被其关注的用户的ID,是长度为4位的由数字和英文字母组成的字符串,各项间以空格分隔。之原创 2021-01-14 10:43:06 · 244 阅读 · 0 评论 -
L1-011 A-B (20 分)【四种方法】
7-6 A-B (20分)本题要求你计算A−B。不过麻烦的是,A和B都是字符串 —— 即从字符串A中把字符串B所包含的字符全删掉,剩下的字符组成的就是字符串A−B。输入格式:输入在2行中先后给出字符串A和B。两字符串的长度都不超过10e4 ,并且保证每个字符串都是由可见的ASCII码和空白字符组成,最后以换行符结束。输出格式:在一行中打印出A−B的结果字符串。输入样例:I love GPLT! It's a fun game!aeiou输出样例:I lv GPLT! It's原创 2021-01-13 17:20:56 · 634 阅读 · 0 评论 -
7-2-1谁是冠军 (300分)
7-2-1 vector 动态数组 谁是冠军 (300分)小博自从参加昆仑虚兴趣小组以来,对编程产生了浓厚的兴趣。他发现用计算机编程不但可以训练思维,还可以解决学习和生活中的一些实际问题。比如,世界杯足球赛时,小博就经常把其中的一些球队列出来,组成一个小团队,然后根据规则计算积分,并根据积分的高低看看这个团队内谁是冠军。假如某次足球赛的积分规则如下:每胜一局得3分,每平一局得1分,每输一局扣1分,积分最高者为冠军。小博就想编这样一个程序,输入若干球队的成绩,就能自动求出这个团队中谁是冠军。你也能编一个吗?原创 2021-01-11 20:49:23 · 227 阅读 · 0 评论 -
连续因子【简单暴力】
7-6 连续因子 (20分)一个正整数 N 的因子中可能存在若干连续的数字。例如 630 可以分解为 3×5×6×7,其中 5、6、7 就是 3 个连续的数字。给定任一正整数 N,要求编写程序求出最长连续因子的个数,并输出最小的连续因子序列。输入格式:输入在一行中给出一个正整数 N(1<N<2e31 )。输出格式:首先在第 1 行输出最长连续因子的个数;然后在第 2 行中按 因子1*因子2*……*因子k 的格式输出最小的连续因子序列,其中因子按递增顺序输出,1 不算在内。输入样原创 2021-01-11 17:10:57 · 515 阅读 · 0 评论 -
7-4 最长对称子串 (25分)【暴力解题】
7-4 最长对称子串 (25分)对给定的字符串,本题要求你输出最长对称子串的长度。例如,给定Is PAT&TAP symmetric?,最长对称子串为s PAT&TAP s,于是你应该输出11。输入格式:输入在一行中给出长度不超过1000的非空字符串。输出格式:在一行中输出最长对称子串的长度。输入样例:Is PAT&TAP symmetric?输出样例:11AC我是真的不会写任何与字符串有关的题目,还是不会写,参考了大佬的文章,L2-008 最长对称子串原创 2021-01-11 16:27:15 · 485 阅读 · 0 评论 -
7-8 互评成绩 (25分)
7-8 互评成绩 (25分)学生互评作业的简单规则是这样定的:每个人的作业会被k个同学评审,得到k个成绩。系统需要去掉一个最高分和一个最低分,将剩下的分数取平均,就得到这个学生的最后成绩。本题就要求你编写这个互评系统的算分模块。输入格式:输入第一行给出3个正整数N(3 < N ≤10e4 ,学生总数)、k(3 ≤ k ≤ 10,每份作业的评审数)、M(≤ 20,需要输出的学生数)。随后N行,每行给出一份作业得到的k个评审成(在区间[0, 100]内),其间以空格分隔。输出格式:按非递减原创 2021-01-11 16:12:36 · 265 阅读 · 0 评论 -
7-11 人以群分 (25分)
7-11 人以群分 (25分)社交网络中我们给每个人定义了一个“活跃度”,现希望根据这个指标把人群分为两大类,即外向型(outgoing,即活跃度高的)和内向型(introverted,即活跃度低的)。要求两类人群的规模尽可能接近,而他们的总活跃度差距尽可能拉开。输入格式:## 标题输入第一行给出一个正整数N(2≤N≤10e5 )。随后一行给出N个正整数,分别是每个人的活跃度,其间以空格分隔。题目保证这些数字以及它们的和都不会超过2e31 。输出格式:按下列格式输出:Outgoing原创 2021-01-11 16:12:14 · 663 阅读 · 0 评论 -
7-9 考试座位号 (15分)
7-9 考试座位号 (15分)每个 PAT 考生在参加考试时都会被分配两个座位号,一个是试机座位,一个是考试座位。正常情况下,考生在入场时先得到试机座位号码,入座进入试机状态后,系统会显示该考生的考试座位号码,考试时考生需要换到考试座位就座。但有些考生迟到了,试机已经结束,他们只能拿着领到的试机座位号码求助于你,从后台查出他们的考试座位号码。输入格式:输入第一行给出一个正整数 N(≤1000),随后 N 行,每行给出一个考生的信息:准考证号 试机座位号 考试座位号。其中准考证号由 16 位数字组成,座原创 2021-01-11 16:11:45 · 375 阅读 · 0 评论 -
7-7 抢红包 (25分)
7-7 抢红包 (25分)没有人没抢过红包吧…… 这里给出N个人之间互相发红包、抢红包的记录,请你统计一下他们抢红包的收获。输入格式:输入第一行给出一个正整数N(≤10e4 ),即参与发红包和抢红包的总人数,则这些人从1到N编号。随后N行,第i行给出编号为i的人发红包的记录,格式如下:KN1 P1 ⋯NK PK 其中K(0≤K≤20)是发出去的红包个数,Ni 是抢到红包的人的编号,Pi (>0)是其抢到的红包金额(以分为单位)。注意:对于同一个人发出的红原创 2021-01-11 16:11:06 · 1047 阅读 · 0 评论