
pat甲级
pat甲级题目的解法
小王子y
互关啊!!
展开
-
PAT甲级真题1020 树的遍历
定一棵二叉树的后序遍历和中序遍历,请你输出其层序遍历的序列。这里假设键值都是互不相等的正整数。输入格式:输入第一行给出一个正整数N(≤30),是二叉树中结点的个数。第二行给出其后序遍历序列。第三行给出其中序遍历序列。数字间以空格分隔。输出格式:在一行中输出该树的层序遍历的序列。数字间以1个空格分隔,行首尾不得有多余空格。输入样例:72 3 1 5 7 6 41 2 3 4 5 6 7输出样例:4 1 6 3 5 7 2#include <cstring>#inclu原创 2021-04-23 00:11:50 · 277 阅读 · 0 评论 -
PAT甲级真题1043 判断二叉搜索树
二叉搜索树 (BST) 递归定义为具有以下属性的二叉树:若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值若它的右子树不空,则右子树上所有结点的值均大于或等于它的根结点的值它的左、右子树也分别为二叉搜索树我们将二叉搜索树镜面翻转得到的树称为二叉搜索树的镜像。现在,给定一个整数序列,请你判断它是否可能是某个二叉搜索树或其镜像进行前序遍历的结果。二叉树的镜像在这输入格式第一行包含整数 N,表示节点数量。第二行包含 N 个整数。输出格式如果给定整数序列是某个二叉搜索树或其镜原创 2021-04-22 08:26:17 · 407 阅读 · 0 评论 -
PAT甲级真题1110 完全二叉树
给定一个树,请你判断它是否是完全二叉树。输入格式第一行包含整数 N,表示树的结点个数。树的结点编号为 0∼N−1。接下来 N 行,每行对应一个结点,并给出该结点的左右子结点的编号,如果某个子结点不存在,则用 - 代替。输出格式如果是完全二叉树,则输出 YES 以及最后一个结点的编号。如果不是,则输出 NO 以及根结点的编号。数据范围1≤N≤20输入样例1:97 8- -- -- -0 12 34 5- -- -输出样例1:YES 8输入样例2:8- -4原创 2021-04-22 01:11:09 · 264 阅读 · 0 评论 -
PAT甲级真题1099 构建二叉搜索树
二叉搜索树 (BST) 递归定义为具有以下属性的二叉树:若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值若它的右子树不空,则右子树上所有结点的值均大于或等于它的根结点的值它的左、右子树也分别为二叉搜索树给定二叉树的具体结构以及一系列不同的整数,只有一种方法可以将这些数填充到树中,以使结果树满足 BST 的定义。请你输出结果树的层序遍历。示例如图 1 和图 2 所示。输入格式第一行包含一个正整数 N,表示树的结点个数。所有结点的编号为 0∼N−1,并且编号为 0 的结点是根结原创 2021-04-22 00:56:24 · 254 阅读 · 0 评论 -
PAT甲级真题1044 火星购物
在火星购物是一个完全不同的体验。火星人用被链子连在一起的钻石付款,每颗钻石都有一定的价值。付款时,只能在链条的某一位置上切割一次,然后一些钻石就会一个接着一个的从链条上脱落。一旦钻石脱离链条,就不能在穿回去。例如,如果我们有一个钻石链条,上面有 8 颗钻石,价值分别为 3,2,1,5,4,6,8,7元,而我们需要支付的价格为 15 元。我们有三种选择:在 4 和 6 之间剪断链条,然后取走前 55 颗钻石,价值为 3+2+1+5+4=15。在 5 之前或 6 之后剪断链条,然后取走第 4∼6原创 2021-01-29 10:40:18 · 316 阅读 · 0 评论 -
PAT甲级真题1101 快速排序(DP)
在著名的快速排序中,有一个经典的过程叫做划分。在此过程中,我们通常选取其中一个元素作为分界值。将小于分界值的元素移到其左侧,将大于分界值的元素移到其右侧。给定 N个不同的正整数进行过一次划分后的排列情况。请你判断,共有多少元素可能是此次划分的分界值。例如,N=5,各元素排列为 1,3,2,4,5,则:1 可能是分界值,因为它的左侧没有元素,而右侧的元素都比它大。3 一定不是分界值,因为尽管它的左侧的元素都比它小,但是它右侧的 2 也小于它。2 一定不是分界值,因为尽管它的右侧的元素都比它大,原创 2021-01-06 23:46:58 · 330 阅读 · 0 评论 -
PAT甲级真题1093 PAT 计数(三种方法)
字符串 APPAPT 中共包含两个 PAT 作为子串。第一个子串由第二,第四和第六个字符组成,第二个子串由第三,第四和第六个字符组成。现在给定一个字符串,请你求出字符串中包含的 PAT 的数量。输入格式共一行,包含一个由大写字母 P,A,T构成的字符串。输出格式输出字符串中包含的 PAT 的数量。由于结果可能很大,请你输出对 1000000007 取模后的结果。数据范围给定字符串的长度不超过10的5次方。输入样例:APPAPT输出样例:2#include<bits/std原创 2021-01-06 21:33:09 · 187 阅读 · 0 评论 -
PAT甲级真题1068 找更多硬币(背包DP)
伊娃喜欢从整个宇宙中收集硬币。有一天,她去了一家宇宙购物中心购物,结账时可以使用各种硬币付款。但是,有一个特殊的付款要求:每张帐单,她都必须准确的支付所消费金额。给定她拥有的所有硬币的面额,请你帮她确定对于给定的金额,她能否找到一些硬币来支付。输入格式第一行包含两个整数 N 和 M,分别表示硬币数量以及需要支付的金额。第二行包含 N 个整数,表示每个硬币的面额。输出格式共一行,按照面额升序的顺序,输出用来支付的所有硬币的面额。如果支付方式不唯一,则输出最小的支付面额序列。如果无解,则输出原创 2021-01-06 00:12:08 · 255 阅读 · 0 评论 -
PAT甲级真题1045 最佳彩色带(两种DP)
伊娃试图用一条原始色带给自己制作一条喜欢的色带。她会通过剪掉原始色带中多余的部分,将其余部分拼接起来,从而使得色带中只包含她喜欢的颜色,并且这些颜色按照她喜欢的顺序排列。据说正常的人眼只能分辨不到 200 种不同的颜色,因此伊娃喜欢的颜色数量是有限的。原始色带的长度可能会很长,她希望拼剪成的能够使她满意的色带也尽可能的长。因此,她需要你来帮她确定能够拼剪出的,使得她满意的色带的最大可能长度。注意,修剪方案可能并不唯一,例如给定颜色为 {2 2 4 1 5 5 6 3 1 1 5 6} 的色带,如果原创 2021-01-05 22:08:39 · 259 阅读 · 0 评论 -
PAT甲级真题1007 最大子序列和(线性DP)
给定一个包含 K 个整数的序列 {N1,N2,…,NK}。连续子序列定义为 {Ni,Ni+1,…,Nj},其中 1≤i≤j≤K。最大子序列是指序列内各元素之和最大的连续子序列。例如,给定序列 {−2,11,−4,13,−5,−2},它的最大子序列为 {11,−4,13},其各元素之和为 20。现在你需要求出最大子序列的各元素之和,并且输出最大子序列的第一个元素和最后一个元素的值。输入格式第一行包含一个整数 K。第二行包含 K 个整数。输出格式输出一行三个整数,分别表示最大子序列的各元素之和原创 2021-01-04 00:56:00 · 305 阅读 · 0 评论 -
PAT甲级真题1057 栈(树状数组)
栈是最基本的数据结构之一,它基于后进先出(LIFO)的原理。基本操作包括“入栈”(将元素插入到顶部位置)和“出栈”(删除顶部元素)。现在,你需要实现一个栈,该栈要具有一个额外的操作:PeekMedian-返回栈中所有元素的中值。对于 N 个元素,如果 N 为偶数,则中值定义从小到大第 N/2 个元素;如果 N 为奇数,则中值定义为从小到大第 N+1/2个元素。输入格式第一行包含整数 N,表示命令数。接下来 N 行,每行包含以下三种命令中的一种:Push keyPopPeekMedian其原创 2021-01-03 23:06:56 · 401 阅读 · 0 评论 -
PAT甲级真题1087 条条大路通罗马
从我们的城市到达罗马有许多不同的旅游路线。请你在成本最低的旅游路线之中,找到使得游客幸福感最强的路线。输入格式第一行包含两个整数 NN 和 KK,分别表示总城市数量,城市之间道路数量,还包含一个城市名字,表示初始城市。接下来 N−1N−1 行,每行包含一个城市名和一个整数,表示到达该城市(初始城市除外)可以获得的幸福感。接下来 KK 行,每行包含一个道路的信息,格式为 City1 City2 Cost,表示两个城市之间的道路行走的花费,道路是双向的。城市都是由三个大写字母构成的字符串。我们的目原创 2020-12-20 00:05:44 · 402 阅读 · 1 评论 -
PAT甲级真题1126 欧拉路径
在图论中,欧拉路径是图中的一条路径,该路径满足恰好访问每个边一次。而欧拉回路是一条在同一顶点处开始和结束的欧拉路径。它们最早由欧拉于 17361736 年解决著名的哥尼斯堡七桥问题时提出。事实证明,如果一个连通图的所有顶点的度数都为偶数,那么这个连通图具有欧拉回路,且这个图被称为欧拉图。如果一个连通图中有两个顶点的度数为奇数,其他顶点的度数为偶数,那么所有欧拉路径都从其中一个度数为奇数的顶点开始,并在另一个度数为奇数的顶点结束。具有欧拉路径但不具有欧拉回路的图被称为半欧拉图。现在,给定一个无向图原创 2020-12-19 19:00:47 · 260 阅读 · 1 评论 -
PAT甲级真题1091 急性中风
识别急性中风的重要因素之一是中风区域的体积。现在将脑部区域看作是一个 M×N×LM×N×L 的立方体,通过仪器检测,我们可以得到每个单位体积的脑部区域是否中风。已知,当一片连通的中风区域的体积不小于 TT 时,才会对人体产生威胁,属于危险中风区域。每个单位区域只与其上下左右前后六个方向直接相连的单位区域算作直接连通。现在,给定脑部整体中风状况分析,请你计算危险中风区域的总体积,即统计所有的体积不小于 TT 的连通中风区域,计算它们的体积和。输入格式第一行包含四个整数 M,N,L,TM,N,L,T原创 2020-12-19 18:23:14 · 211 阅读 · 1 评论 -
PAT甲级真题1119 前序和后序遍历(复杂递归)
假设一个二叉树上所有结点的权值都互不相同。我们可以通过后序遍历和中序遍历来确定唯一二叉树。也可以通过前序遍历和中序遍历来确定唯一二叉树。但是,如果只通过前序遍历和后序遍历,则有可能无法确定唯一二叉树。现在,给定一组前序遍历和后序遍历,请你输出对应二叉树的中序遍历。如果树不是唯一的,则输出任意一种可能树的中序遍历即可。输入格式第一行包含整数 NN,表示结点数量。第二行给出前序遍历序列。第三行给出后序遍历序列。一行中的数字都用空格隔开。输出格式首先第一行,如果树唯一,则输出 Yes,如果原创 2020-12-09 21:53:33 · 330 阅读 · 0 评论 -
PAT甲级真题1021 最深的根(网上题解最好懂)
一个无环连通图可以被视作一个树。树的高度取决于所选取的根节点。现在,你要找到可以使得树的高度最大的根节点。它被称为最深的根。输入格式第一行包含整数 NN,表示节点数量。节点编号为 1∼N1∼N。接下来 N−1N−1 行,每行包含两个整数,表示两个节点之间存在一条边。输出格式输出最深的根的节点编号。如果最深的根不唯一,则按照从小到大的顺序,将它们依次输出,每个占一行。如果给定的图不是树,输出 Error: K components,其中 KK 是图中连通分量的数量。数据范围1≤N≤1原创 2020-12-09 17:53:07 · 565 阅读 · 0 评论 -
PAT甲级真题1012 最佳排名(排序)
现在,要给 CS 专业一年级的学生进行成绩评估。我们只考虑他们的三门成绩:C–c语言,M–数学,E–英语,除此之外,我们还会考虑 A –三门成绩平均值。注意:平均成绩为三科成绩平均值四舍五入取整的结果。例如,四个学生的成绩单如下:StudentID C M E A310101 98 85 88 90310102 70 95 88 84310103 82 87 94 88310104 91 91 91 91每个学生都会有各科排名以及平均成绩排名,我们通原创 2020-12-06 12:32:50 · 286 阅读 · 0 评论 -
PAT甲级真题1138 后序遍历
假设二叉树上各结点的权值互不相同且都为正整数。给定二叉树的前序遍历和中序遍历,请你输出二叉树的后序遍历的第一个数字。输入格式第一行包含整数 NN,表示二叉树结点总数。第二行给出二叉树的前序遍历序列。第三行给出二叉树的中序遍历序列。输出格式输出二叉树的后序遍历的第一个数字。数据范围1≤N≤500001≤N≤50000输入样例:71 2 3 4 5 6 72 3 1 5 4 7 6输出样例:3#include <iostream>#include <unord原创 2020-12-01 22:36:13 · 310 阅读 · 0 评论 -
PAT甲级真题1020 树的遍历(递归)
一个二叉树,树中每个节点的权值互不相同。现在给出它的后序遍历和中序遍历,请你输出它的层序遍历。输入格式第一行包含整数 NN,表示二叉树的节点数。第二行包含 NN 个整数,表示二叉树的后序遍历。第三行包含 NN 个整数,表示二叉树的中序遍历。输出格式输出一行 NN 个整数,表示二叉树的层序遍历。数据范围1≤N≤301≤N≤30输入样例:72 3 1 5 7 6 41 2 3 4 5 6 7输出样例:4 1 6 3 5 7 2#include<iostream>#i原创 2020-12-01 18:51:19 · 296 阅读 · 0 评论 -
PAT甲级真题1004 数叶子结点(DFS,BFS两种解法)
家庭关系可以用家谱树来表示,给定一个家谱树,你的任务是找出其中没有孩子的成员。输入格式第一行包含一个整数 NN 表示树中结点总数以及一个整数 MM 表示非叶子结点数。接下来 MM 行,每行的格式为:ID K ID[1] ID[2] … ID[K]IDID 是一个两位数字,表示一个非叶子结点编号,KK 是一个整数,表示它的子结点数,接下来的 KK 个 ID[i]ID[i] 也是两位数字,表示一个子结点的编号。为了简单起见,我们将根结点固定设为 0101。所有结点的编号即为 01,02,03,…,原创 2020-11-30 22:56:26 · 441 阅读 · 0 评论 -
PAT甲级真题1055 世界首富(K路归并)
《福布斯》杂志每年都会根据世界上最富有的人群的年度排名发布其亿万富翁名单。现在,你需要模拟这项工作,但你只需要统计特定年龄段的富有人群。也就是说,给定 NN 个人的净资产,你必须找到在给定年龄范围内的 MM 个最富有的人。输入格式第一行包含两个整数 NN 和 KK,分别表示总人数以及询问次数。接下来 NN 行,每行包含一个人的姓名(长度不超过 88 且不包含空格的字符串),年龄(范围在 (0,200](0,200] 的整数),净资产(范围在 [−106,106][−106,106] 的整数)。接原创 2020-11-28 00:38:46 · 226 阅读 · 0 评论 -
PAT甲级真题1016 电话账单(简单易懂和巧妙处理两种办法)
长途电话公司按以下规则向客户收费:拨打长途电话每分钟要花费一定的费用,具体收费取决于拨打电话的时间。客户开始拨打长途电话的时间将被记录,客户挂断电话的时间也将被记录。每个月都要给客户发送一次话费账单,账单中应包含每次通话记录以及相关收费等信息。给定一组电话记录,你的工作是为客户准备帐单。输入格式输入包含两部分:费率结构和电话记录。费率结构由一行组成,该行包含24个非负整数,分别表示从 00:00-01:00 的收费(分/分钟),从 01:00-02:00 的收费,以此类推…下一行包含一个正整原创 2020-11-22 16:54:01 · 488 阅读 · 0 评论 -
PAT甲级真题1095 校园内的汽车(详解)
浙江大学有 88 个校区和许多大门。从每个大门处我们都可以收集到进出这个大门的汽车的车牌号以及具体进出时间。现在,给定你所有的有用信息,你需要做的是:对于一些查询,计算出查询时刻校园内的汽车数量。在一天结束时,找到在校园内停放时间最长的汽车。输入格式第一行包含两个整数,NN 表示记录数量,KK 表示查询时刻数量。接下来 NN 行,每行包含一条记录信息,格式如下:plate_number hh:mm:ss statusplate_number(车牌号)是一个长度为 77 的只包含大写字母和数原创 2020-11-22 02:24:12 · 353 阅读 · 1 评论 -
PAT甲级真题1022 数字图书馆(STL容器的运用)
数字图书馆包含数以百万计的书籍。每本书的书名,作者,摘要关键词,出版商和出版年限这五类关键信息都在数据库中有所记录。每本书被分配一个唯一的 77 位数字作为其 ID。当读者查询某一关键信息时,你应该找到所有与查询相关的书籍,并将它们按 ID 的升序排序输出。输入格式第一行包含整数 NN,表示共有 NN 本书。接下来包含这 NN 本书的具体信息,每本书的相关信息占 66 行:第一行:书的 ID,一个 77 位数字。第二行:书名,一个长度不超过 8080 的字符串。第三行:作者,一个长度不超过原创 2020-11-20 23:07:41 · 279 阅读 · 0 评论 -
PAT甲级真题1015 可逆质数
给定两个整数 NN 和 DD,如果 NN 是一个质数,并且将 NN 转化为 DD 进制表示后,再进行反转,得到的新数字转化为十进制表示后如果也是一个质数,则称 NN 在 DD 进制系统中,是一个可逆质数。例如,N=73,D=10N=73,D=10,则 7373 是质数,其十进制表示反转后为 3737 也是质数,所以 7373 在十进制系统中是一个可逆质数。N=23,D=2N=23,D=2,则 2323 是质数,其二进制表示为 1011110111,反转后得到 1110111101,转化为十进制后为 29原创 2020-11-19 23:08:32 · 611 阅读 · 0 评论 -
PAT甲级真题1075 PAT 评测(可以锻炼程序能力)
PAT 的排名列表是根据状态列表产生的,状态列表中显示了所有提交记录的分数。现在,请你为 PAT 生成排名列表。输入格式第一行包含三个整数 N,K,MN,K,M,分别表示总用户数量,题目数量,以及提交数量。用户编号是从 0000100001 到 NN 的 55 位数字。问题编号从 11 到 KK。第二行包含 KK 个整数 p1,p2,…,pKp1,p2,…,pK,其中 pipi 表示第 ii 题的满分。接下来 MM 行,每行包含一个提交信息,包括用户编号,题目编号,以及得分。当提交无法正确编原创 2020-11-19 01:00:38 · 238 阅读 · 0 评论 -
PAT甲级真题1027 火星颜色(简洁)
火星人以与地球人相似的方式在计算机中表示颜色。也就是说,颜色由 66 位数字表示,其中前 22 位数字代表红色(RR),中 22 位数字代表绿色(GG),后 22 位数字代表蓝色(BB)。与我们的区别在于,他们使用 1313 进制(0∼90∼9 和 A∼CA∼C)来表示颜色值。现在给定三个用来表示颜色值的十进制数字(数字范围在 [0,168][0,168] 之间),请你输出他们的火星 RGBRGB 颜色值。输入格式包含三个十进制整数,分别表示十进制下的 R、G、B 颜色值。输出格式共一行,先输原创 2020-11-18 18:21:39 · 192 阅读 · 0 评论 -
PAT甲级真题1019 普通回文数(简短好懂)
一个数字如果从前往后读和从后往前读都完全一样,那么这个数就是回文数。例如,12343211234321 就是一个回文数。所有的一位数字都是回文数。我们一般都是在十进制下考虑回文,但是回文这一概念也可以应用于其他进制下的数字中。一个整数 NN,在 bb 进制下,共有 k+1k+1 位,其中第 ii 位的数字为 ai,(0≤i≤k)ai,(0≤i≤k),那么 N=∑ki=0(aibi)N=∑i=0k(aibi)。一般来说,0≤ai<b0≤ai<b,并且 ak≠0ak≠0。如果对于任意 i原创 2020-11-18 18:15:03 · 448 阅读 · 0 评论 -
PAT甲级真题1052 链表排序(疑难测试点分析巧妙解法)
链表由一系列的结构体组成,每个结构体中包含一个 Key 值和一个指向下一个结构体的 Next 指针。现在,给出一个链表,请你按照 Key 值升序的顺序将链表重新排序。补充1、本题中可能包含不在链表中的节点,这些节点无需统计,无需排序,无需输出。2、链表可能为空。(头节点地址为 −1−1)。输入格式第一行首先包含一个整数 NN,表示总节点数量,然后包含链表头节点的地址。接下来 NN 行,每行描述一个节点的信息,格式如下:Address Key Next其中 Address 是节点地址,Key原创 2020-11-18 00:35:50 · 491 阅读 · 1 评论 -
PAT甲级真题1025 PAT 排名(STL运用)
编程能力测试(PAT)由浙江大学计算机科学与技术学院组织。每次测试都会在多个地区同时进行,测试完成后,将会对成绩进行统计与合并,生成总排名。你的任务就是编写一个程序,将各地区人员的成绩合并汇总,生成最终排名。输入格式第一行包含整数 NN,表示测试将会在 NN 个地区同时进行。接下来是 NN 个地区的成绩列表。每个地区的成绩列表,第一行包含整数 KK,表示该地区的测试人数。接下来 KK 行,每行包含一个学生的考号(1313 位数字)以及该学生的成绩。输出格式第一行输出总考生人数。然后用以下原创 2020-11-18 00:13:42 · 306 阅读 · 0 评论 -
PAT甲级真题1039 学生课程列表(STL的运用)
浙江大学有 4000040000 名学生,提供 25002500 门课程。现在给定所有课程的报名学生姓名列表。给定你一个学生名单,请你查询名单中的学生的具体选课情况。输入格式第一行包含两个整数 NN 和 KK,分别表示需要查询的学生数量以及课程数量。接下来包含 KK 个课程的具体报名信息。每个课程信息的第一行包含两个整数 ii 和 NiNi,分别表示该课程的编号(所有课程编号从 11 到 KK)以及报课人数。第二行包含 NiNi 个学生姓名,学生姓名由三个大写字母和一个数字组成。最后一行包含原创 2020-11-17 23:56:47 · 163 阅读 · 0 评论 -
PAT甲级真题1080 研究生入学
据说,20112011 年,浙江省约有 100100 所研究生院准备着手处理 40,00040,000 多份入学申请。如果你可以编写一个程序来自动执行录取流程,那将会很有帮助。每个申请人都必须提供两个成绩:全国入学考试成绩 GEGE 和面试成绩 GIGI,申请人的最终成绩是 (GE+GI)/2(GE+GI)/2。录取规则如下:申请者将根据其最终成绩由高到低进行排名,并且将从排名列表的顶部开始逐一录取。如果申请者的最终成绩并列,则按照 GEGE 成绩由高到低进行排名,如果成绩仍然并列,则并列者的排名原创 2020-11-14 00:17:24 · 163 阅读 · 0 评论 -
PAT甲级真题1129 推荐系统(好模拟两种办法)
推荐系统可以预测用户对某项商品的偏好。现在,请你编写一个非常简单的推荐系统,该系统通过分析用户对各种商品的访问次数来预测用户的偏好。补充用户会进行 NN 次商品访问,每次访问某件商品之前,系统需要给用户推荐最多不超过 KK 件商品。而推荐的这 KK 件商品,应该是在本次访问之前的所有访问中,被访问次数最多的 KK 件商品。当然,用户在进行第一次访问时,无法给出任何推荐,因为此时所有商品的被访问次数都为 00。输入格式第一行包含两个正整数: NN,表示用户访问商品次数,KK 表示系统提供给用户的原创 2020-11-12 23:13:59 · 219 阅读 · 0 评论 -
PAT甲级真题1140 外观数列
外观数列是指具有以下特点的整数序列:D, D1, D111, D113, D11231, D112213111, …其中 D 是一个 [0,9][0,9] 范围内的不等于 11 的整数。序列的第 n+1n+1 项是对第 nn 项的描述。比如第 22 项表示第 11 项有 11 个 D,所以就是 D1;第 22 项是 11 个 D(对应 D1)和 11 个 11(对应 1111),所以第 33 项就是 D111。又比如第 44 项是 D113,其描述就是 11 个 D,22 个 11,11 个 3原创 2020-11-12 18:52:02 · 166 阅读 · 1 评论 -
PAT甲级真题1109 合影(很好的模拟题)
合影时队形非常重要,给出 NN 个人排成 KK 行的规则,如下所示:每行的人数必须为 N/KN/K(向下取整),所有多余的人(如果有)都放到最后一行;位于后排的所有人都不得矮于位于前排的任何人;在每一行中,最高的人站在该行的中心位置(定义为位置 (m/2+1)(m/2+1),位置从1开始编号,其中 mm 是该行的总人数,除法结果向下取整);在每一行中,其他人必须按照其身高非递增顺序依次排入该行,交替地将他们的位置先安排到最高人的右侧,然后再安排到最高人的左侧(例如,假设五个人的身高为 190、188原创 2020-11-12 00:53:40 · 234 阅读 · 0 评论 -
PAT甲级真题1122 哈密顿回路(详解)
哈密顿回路问题是找到一个包含图中每个顶点的简单回路。这样的回路称为“哈密顿回路”。在本题中,你需要做的是判断给定路径是否为哈密顿回路。输入格式第一行包含一个整数 NN 表示顶点数,一个整数 MM 表示给定无向图中的边数。接下来 MM 行,每行包含两个整数 a,ba,b,表示点 aa 和 bb 之间存在一条边。所有顶点编号从 11 到 NN。再一行给出整数 KK,表示询问次数。接下来 KK 行,每行包含一个询问,格式如下:nn V1V1 V2V2 … VnVnnn 表示给定路径经过的点的数原创 2020-11-10 19:50:40 · 727 阅读 · 0 评论 -
PAT甲级真题1069 数字黑洞(巧妙解法)
对于任何各位数字不完全相同的四位整数,我们将该数字的四个数位按非升序排列,得到一个数字,再按非降序排列,得到另一个数字,将两个数字相减就能得到一个新的数字。不断重复这个过程,我们就能得到数字6174 ---- 这是四位数字的黑洞。例如,给定数字 6767,过程如下:7766 - 6677 = 10899810 - 0189 = 96219621 - 1269 = 83528532 - 2358 = 61747641 - 1467 = 6174… …给定任意一个四位数字,请你输出它进入黑洞的原创 2020-11-09 23:59:59 · 1086 阅读 · 0 评论 -
PAT甲级真题1072 加油站
加油站的建造位置必须使加油站与距离它最近的房屋的距离尽可能远。与此同时,它还必须保证所有房屋都在其服务范围内。现在,给出了城市地图和加油站的几个候选位置,请你提供最佳建议。如果有多个解决方案,请输出选取位置与所有房屋的平均距离最小的解决方案。如果这样的解决方案仍然不是唯一的,请输出选取位置编号最小的解决方案。输入格式第一行包含四个整数 NN,房屋总数,MM,加油站的候选位置总数,KK,连接房屋或加油站的道路总数,DsDs 加油站的最大服务范围。所有房屋的编号从 11 到 NN,所有加油站侯选位原创 2020-11-09 18:27:56 · 273 阅读 · 0 评论 -
PAT甲级真题1060 PAT甲级真题1060(超详细!)
如果机器只能保存 33 个有效数字,则将浮点数 1230012300 和 12358.912358.9 视为相等(多余位数直接舍弃,不进行四舍五入),因为它们都保存为 0.123×1050.123×105。现在给定一个机器能够保存的有效数字位数,以及两个浮点数,请你判断两个数在该机器上是否相等。注意:数字不一定标准,可能有前导 00。如果数值是0,则指数规定为0。输入格式共一行,包含三个数 N,A,BN,A,B,分别表示有效位数,以及两个用来比较的浮点数。输出格式共一行,如果两个数相等,则先原创 2020-11-09 16:20:21 · 329 阅读 · 1 评论 -
PAT甲级真题1121 单身狗(两种简单做法)
“单身狗”是中文对于单身人士的一种爱称。本题请你从上万人的大型派对中找出落单的客人,以便给予特殊关爱。输入格式输入第一行给出一个正整数 NN,是已知夫妻/伴侣的对数;随后 NN 行,每行给出一对夫妻/伴侣——为方便起见,每人对应一个 IDID 号,为 55 位数字(从 0000000000 到 9999999999),ID 间以空格分隔;之后给出一个正整数 MM,为参加派对的总人数;随后一行给出这 MM 位客人的 IDID,以空格分隔。题目保证无人重婚或脚踩两条船。输出格式首先第一行输出落原创 2020-11-09 13:27:37 · 514 阅读 · 0 评论