自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C++:Maximum Subsequence Sum(dp动态规划)

摘要:本文介绍了一个寻找整数序列最大子序列和及其首尾元素的算法。给定K个整数,要求输出和最大的连续子序列的和、起始和结束元素。若所有数为负数,则输出0及整个序列的首尾元素。算法使用动态规划,时间复杂度为O(n)。示例输入10个数字{-10,1,2,3,4,-5,-2,3,3,7,-2,1},输出最大和10及对应的首尾元素1和4。代码实现包括输入处理、全负数判断和动态规划求解过程。

2026-04-06 14:09:17 40

原创 C++:Lowest Price in Supply Chain

摘要:该程序计算供应链中客户可获得的最低价格及相应零售商数量。供应链由多级供应商和零售商组成,每级价格递增r%。使用广度优先搜索计算各节点层级,找出零售商的最小层级,计算最低价格并统计该价格的零售商数量。输入包含节点数、初始价格和增长率,输出保留4位小数的最低价格和零售商数量。

2026-03-29 20:30:16 55

原创 C++:The Largest Generation

摘要:本文实现了一个查找家族树中人口最多世代的算法。程序通过读取家族成员及其子女信息,构建树结构,然后使用广度优先搜索(BFS)逐层统计各世代人口数。根节点为01,世代编号从1开始。最终输出人口最多的世代人数及其层次编号。样例输入展示了23个成员和13个有子女的成员信息,程序正确输出了第4代有9人的结果。核心算法采用队列实现BFS遍历,并动态记录各层人口数进行比较。

2026-03-29 19:29:41 43

原创 C++:Highest Price in Supply Chain

该程序计算供应链中从零售商处获得的最高价格。给定供应链成员总数N、根供应商价格P和每层价格增幅r%,通过构建树结构并计算各节点深度,确定最长供应链路径。程序使用BFS遍历树结构记录各节点深度,排序后统计最深路径数量,最后计算最高价格(P*(1+r%)^最大深度)和达到该价格的零售商数量。对于样例输入,输出最高价格1.85和零售商数量2。

2026-03-29 19:28:10 113

原创 C++:Invert a Binary Tree

摘要:本题要求翻转二叉树并输出层序和中序遍历结果。输入给出节点数N(≤10)及每个节点的左右子节点编号("-"表示空)。程序首先构建二叉树,找到根节点后,通过交换左右子树实现翻转。输出时,层序遍历采用队列实现,中序遍历采用递归(右-根-左顺序)。样例输入输出展示了翻转后的遍历序列。核心算法包括节点结构体定义、树构建、翻转操作和两种遍历实现。

2026-03-18 12:21:23 42

原创 PTA C++:正整数A+B

摘要:该程序用于处理两个正整数A和B的求和问题,要求A和B都在[1,1000]范围内。程序需要处理各种非法输入情况,包括非数字、负数、小数或乱码等。输入以第一个空格分隔A和B,程序会先去除前导零,然后检查是否为有效正整数。若输入合法则输出A+B=和,否则在非法位置输出?。例如:输入"123 456"输出"123+456=579",输入"-100 33"输出"?+?=?"。

2026-03-14 09:26:31 71

原创 Tree Traversals Again

一个中序遍历的非递归实现可以使用栈。例如,假设对一棵 6 个节点(键值编号 1 到 6)的二叉树进行中序遍历,其栈操作序列为: push(1);push(2);push(3);pop();pop();push(4);pop();pop();push(5);push(6);pop();pop()。则可以由此操作序列唯一地构造出一棵二叉树(见图1)。你的任务是输出该树的后序遍历序列。Figure 1。

2026-03-10 22:38:49 235

原创 PTA:Tree Traversals(C++)

摘要:本文实现了一个根据二叉树后序和中序遍历序列重建树并输出层次遍历的程序。输入给定节点数N(≤30)及后序、中序遍历序列,程序首先递归构建二叉树(后序末节点为根,在中序中划分左右子树),然后通过队列实现层次遍历输出。时间复杂度为O(N),空间复杂度为O(N)。样例输入7个节点的遍历序列,输出层次遍历结果为"4 1 6 3 5 7 2"。核心算法包括递归建树和BFS遍历。

2026-03-10 12:58:33 58

原创 PTA C++:前世档案

摘要:本文介绍了一个简单的算命小程序实现原理。程序通过二叉树路径选择机制,根据用户对N个"y/n"问题的回答,计算出对应的结论编号。算法将每个回答视为二叉树的路径选择(y向左,n向右),通过位运算思想计算最终节点编号。输入包括问题数量N和玩家数M,随后是M组回答序列,输出每个玩家的结论编号。示例代码展示了如何通过逐步调整位置增量来计算最终编号。

2026-03-09 21:42:24 62

原创 PTA C++:遂 60年前的算法

摘要:本文探讨栈可排序排列问题,研究使用单个栈对序列排序所需的最小栈空间。通过实现高德纳提出的算法,分析输入序列在栈操作过程中的空间需求。算法核心是当输入值大于栈顶元素时弹出栈元素,否则压入栈中。实验表明,该算法并非对所有序列都适用,且需要计算执行过程中的最大栈空间使用量。文中给出C++实现代码,可输出所需最小栈空间大小及首次达到最大栈容量时的栈内元素排列(从栈顶到栈底)。输入样例演示了算法处理10个数字序列时所需最小栈空间为3,并展示了栈满时的元素布局。

2026-03-07 11:21:04 94

原创 PTA C++:顺 迎新字符串

2026年天梯赛将改革字符串题型,设置标准化的20分题目,包含三种固定操作:查找子串位置、替换首次出现的子串、在特定字符对间插入字符串。题目给出初始字符串和N个操作,要求根据操作类型输出结果(查找失败输出-1,无效操作输出原字符串)。样例展示了7个操作的处理过程,包括查找、替换和插入操作的结果。题目数据约定与2026年拟定的评分标准一致,确保题目难度适中且公平。提供的C++代码实现了这三种操作的处理逻辑,使用字符串查找、替换和插入等基本操作完成任务要求。

2026-03-07 10:47:35 362 1

原创 C++:Have Fun with Numbers

【代码】C++:Have Fun with Numbers。

2026-02-25 11:36:44 347

原创 C++:乘法口诀数列

摘要:题目要求根据乘法口诀生成数列,初始给定两个1位数字a1和a2,每次将当前数字与后一个数字相乘,结果作为新项添加到数列末尾。若结果为多位数,则拆分为多个数字依次添加。输入包含a1、a2和项数n,输出数列前n项。例如输入"2 3 10"时,输出"2 3 6 1 8 6 8 4 8 4"。解题思路是将数列存储在字符串中,通过循环计算乘积并添加数字,直到字符串长度达到n项后输出结果。

2026-02-22 17:21:17 55

原创 C++:整除光棍

这里所谓的“光棍”,并不是指单身汪啦~ 说的是全部由1组成的数字,比如1、11、111、1111等。传说任何一个光棍都能被一个不以5结尾的奇数整除。比如,111111就可以被13整除。 现在,你的程序要读入一个整数x,这个整数一定是奇数并且不以5结尾。然后,经过计算,输出两个数字:第一个数字s,表示x乘以s是一个光棍,第二个数字n是这个光棍的位数。这样的解当然不是唯一的,题目要求你输出最小的解。

2026-02-19 17:44:18 60

原创 C++:Product of Polynomials

每个输入文件包含一个测试用例。每个测试用例占两行,每行描述一个多项式,格式为: K N1​ a N1 N2 aN2​​ …… NK​ aNK​​ 其中 K 为多项式中非零项的个数,Ni和 aNi(i=1,2,⋯ ,Ki=1,2,⋯,K)分别表示幂次和系数。满足 1≤K≤10,0≤NK<⋯<N2<N1≤1000。

2026-02-05 17:27:00 59

原创 C++:Recover the Smallest Number

给定一系列数字段,你需要将它们按某种顺序拼接,得到可能的数字中最小的一个。例如,对于 { 32, 321, 3214, 0229, 87 },可以拼出 32-321-3214-0229-87 或 0229-32-87-321-3214 等多种形式,其中最小的是 0229-321-3214-32-87。输入规格:每个输入文件包含一个测试用例。第一项为正整数 NN (≤104≤104),表示数字段个数;随后给出 NN 段,每段是不超过 8 位的非负整数(可能有前导零),各项以空格分隔。

2026-02-04 15:35:54 57

原创 C++:Find Coins

Eva 喜欢收集来自宇宙各地的硬币,包括火星等其他星球的硬币。一天她来到一家可以接受各种硬币支付的商场。但这里对付款有特殊要求:每笔账单必须恰好使用两枚硬币来支付精确金额。由于她带了多达 10510 5 枚硬币,她需要你的帮助。对于任意给定的支付金额,你需要告诉她是否能找到两枚硬币来支付。输入规格:每个输入文件包含一个测试用例。每个测试用例的第一行包含两个正整数:NN(≤105≤10 5 ,表示硬币总数)和 MM(≤103≤10 3 ,表示需支付的金额)。第

2026-01-17 14:00:53 212

原创 C++:Kuchiguse

日语的句尾助词十分有名。个人对这种助词的偏好可以反映说话者的个性,这种偏好称为“Kuchiguse”,在动漫与漫画中常被艺术化夸张地使用。例如,人工造出的句尾助词“nyan~”常被用来塑造猫咪一般性格的角色:Itai nyan~(好痛啊,nyan~)Ninjin wa iyada nyan~(我讨厌胡萝卜,nyan~)现在给出同一角色说的若干台词,你能找出她的 Kuchiguse 吗?输入格式:每个输入文件包含一个测试用例。对于每个测试用例,第一行是一个整数

2025-12-25 18:49:52 301

原创 B1024. 科学计数法 C++

科学计数法是科学家用来表示很大或很小的数字的一种方便的方法,其满足正则表达式 [+-][1-9].[0-9]+E[+-][0-9]+,即数字的整数部分只有 1 位,小数部分至少有 1 位,该数字及其指数部分的正负号即使对正数也必定明确给出。现以科学计数法的格式给出实数 𝐴A,请编写程序按普通数字表示法输出 𝐴A,并保证所有有效位都被保留。输入格式:每个输入包含 1 个测试用例,即一个以科学计数法表示的实数 𝐴A。该数字的存储长度不超过 9999 字节,且其指数的绝对值不超过 9999。输

2025-12-25 17:45:18 182

原创 C++:数字加密 PTA

本题要求实现一种数字加密方法。首先固定一个加密用正整数 A,对任一正整数 B,将其每 1 位数字与 A 的对应位置上的数字进行以下运算:对奇数位,对应位的数字相加后对 13 取余——这里用 J 代表 10、Q 代表 11、K 代表 12;对偶数位,用 B 的数字减去 A 的数字,若结果为负数,则再加 10。这里令个位为第 1 位。

2025-12-25 17:41:29 185

原创 C++:Shortest Distance

给定一条形成简单环线的高速公路,上面有 𝑁 个出口,编号 1 到 𝑁,出口 𝑖i 与出口 𝑖+1 之间的距离为 𝐷𝑖,其中 DN 表示出口 𝑁 与出口 1 之间的距离。现给出若干对出口编号,求每对出口之间的最短行驶距离。输入规格:每个输入文件包含一个测试用例。第一行包含整数 𝑁N(3≤𝑁≤10……5),随后给出 𝑁N 个整数 𝐷1,𝐷2,…,𝐷𝑁​,其中 𝐷𝑖Di​ 表示第 𝑖 个出口与第 𝑖+1 个出口之间的距离(当 𝑖=𝑁时,则为出口 𝑁与出口 1 之间的

2025-12-10 14:58:21 281

原创 C++:【例45.1】 高低位交换

给出一个小于 2^32的正整数。这个数可以用一个 32 位的二进制数表示(不足 32 位用 00 补足)。我们称这个二进制数的前 16位为“高位”,后 16 位为“低位”。将它的高低位交换,我们可以得到一个新的数。试问这个新的数是多少(用十进制表示)。例如,数 1314520 用二进制表示为0000 0000 0001 0100 0000 1110 1101 1000(添加了 11 个前导 0 补足为 32 位),其中前 16位为高位,即0000 0000 0001 0100;后 16 位为低位,即000

2025-11-28 21:46:01 304

原创 C++:PTA L1-033 出生年

以上是新浪微博中一奇葩贴:“我出生于1988年,直到25岁才遇到4个数字都不相同的年份。”也就是说,直到2013年才达到“4个数字都不相同”的要求。本题请你根据要求,自动填充“我出生于y年,直到x岁才遇到n个数字都不相同的年份”这句话。输入格式:输入在一行中给出出生年份y和目标年份中不同数字的个数n,其中y在[1, 3000]之间,n可以是2、或3、或4。注意不足4位的年份要在前面补零,例如公元1年被认为是0001年,有2个不同的数字0和1。输出格式:根据输入,输出x和能达到要求的年份。数字间以

2025-11-28 17:20:29 313

原创 PTA L1-020 帅到没朋友 C++

当芸芸众生忙着在朋友圈中发照片的时候,总有一些人因为太帅而没有朋友。本题就要求你找出那些帅到没有朋友的人。输入第一行给出一个正整数N(≤100),是已知朋友圈的个数;随后N行,每行首先给出一个正整数K(≤1000),为朋友圈中的人数,然后列出一个朋友圈内的所有人——为方便起见,每人对应一个ID号,为5位数字(从00000到99999),ID间以空格分隔;之后给出一个正整数M(≤10000),为待查询的人数;随后一行中列出M个待查询的ID,以空格分隔。注意:没有朋友的人可以是根本没安装“朋友圈”,也可以是

2025-11-26 23:25:12 413

原创 C++【入门】:求小数的某一位

本文求解分数a/b化为小数后第n位数字的问题。通过模拟除法过程逐位计算,避免了浮点数精度问题。算法核心是用循环不断将余数乘以10并取整除法,直接输出第n位的商值。输入为三个正整数a,b,n(0<a<b<100,1≤n≤10000),输出为第n位小数数字。例如输入"1 2 1"输出"5"。该方法确保在较大n值时仍能精确计算。

2025-11-16 09:04:41 209

原创 蓝桥杯web-电影院排座位

座位区域与荧幕间隔50px;每行8个座位;第2列和第6列旁边设置走廊(间隔30px),其他列间隔10px。解决方案通过flex布局实现自动换行,并利用nth-child选择器精准控制特定列间距,最终完成符合要求的座位排列效果。

2025-10-14 10:01:26 417

原创 C++:PTA L2-024 部落

在一个社区里,每个人都有自己的小圈子,还可能同时属于很多不同的朋友圈。我们认为朋友的朋友都算在一个部落里,于是要请你统计一下,在一个给定社区中,到底有多少个互不相交的部落?并且检查任意两个人是否属于同一个部落。输入格式:输入在第一行给出一个正整数N(≤104),是已知小圈子的个数。随后N行,每行按下列格式给出一个小圈子里的人:K P[1] P[2] ⋯ P[K]其中K是小圈子里的人数,P[i](i=1,⋯,K)是小圈子里每个人的编号。这里所有人的编号从1开始连续编号,最大编号不会超过104。

2025-08-19 20:31:32 269

原创 C++:PAT L2-014 列车调度

火车站的列车调度铁轨的结构如下图所示。两端分别是一条入口(Entrance)轨道和一条出口(Exit)轨道,它们之间有N条平行的轨道。每趟列车从入口可以选择任意一条轨道进入,最后从出口离开。在图中有9趟列车,在入口处按照{8,4,2,5,3,9,1,6,7}的顺序排队等待进入。如果要求它们必须按序号递减的顺序从出口离开,则至少需要多少条平行铁轨用于调度?输入格式:输入第一行给出一个整数N (2 ≤ N ≤10 5 ),下一行给出从1到N的整数序号的一个重排列。数字间以空格分隔。

2025-08-01 21:49:10 165

原创 C++:PAT L2-013 红色警报

战争中保持各个城市间的连通性非常重要。本题要求你编写一个报警程序,当失去一个城市导致国家被分裂为多个无法连通的区域时,就发出红色警报。注意:若该国本来就不完全连通,是分裂的k个区域,而失去一个城市并不改变其他城市之间的连通性,则不要发出警报。输入格式:输入在第一行给出两个整数N(0 < N ≤ 500)和M(≤ 5000),分别为城市个数(于是默认城市从0到N-1编号)和连接两城市的通路条数。随后M行,每行给出一条通路所连接的两个城市的编号,其间以1个空格分隔。在城市信息之后给出被攻占的信息,即一个正

2025-07-31 18:36:03 207

原创 C++:PAT L2-011 玩转二叉树

给定一棵二叉树的中序遍历和前序遍历,请你先将树做个镜面反转,再输出反转后的层序遍历的序列。所谓镜面反转,是指将所有非叶结点的左右孩子对换。这里假设键值都是互不相等的正整数。输入格式:输入第一行给出一个正整数N(≤30),是二叉树中结点的个数。第二行给出其中序遍历序列。第三行给出其前序遍历序列。数字间以空格分隔。输出格式:在一行中输出该树反转后的层序遍历的序列。数字间以1个空格分隔,行首尾不得有多余空格。输入样例:71 2 3 4 5 6 74 1 3 2 6 5 7

2025-07-21 11:45:12 317

原创 PAT 1010 一元多项式求导(C++)

设计函数求一元多项式的导数。(注:xn(n为整数)的一阶导数为nxn−1。)输入格式:以指数递降方式输入多项式非零项系数和指数(绝对值均为不超过 1000 的整数)。数字间以空格分隔。输出格式:以与输入相同的格式输出导数多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。注意“零多项式”的指数和系数都是 0,但是表示为 0 0。

2025-07-18 11:00:48 239

原创 C++:PTA 1003 我要通过!

本文介绍了一个PAT自动判题系统的字符串验证程序。要求输入字符串仅包含P、A、T三种字符,并满足特定模式:要么是xPATx形式(x为A组成的字符串或空),要么符合aPbATca的递归扩展规则。程序通过检查字符合法性、xPATx模式以及P前A数×中间A数= T后A数的条件进行判断,输出YES或NO。输入样例包含10个测试用例,程序能正确识别符合要求的字符串模式。

2025-07-17 11:35:31 295

原创 C++:PTA L2-006 树的遍历

给定一棵二叉树的后序遍历和中序遍历,请你输出其层序遍历的序列。这里假设键值都是互不相等的正整数。

2025-04-19 10:06:50 608

原创 C++:PTA L1-006 连续因子

一个正整数 N 的因子中可能存在若干连续的数字。例如 630 可以分解为 3×5×6×7,其中 5、6、7 就是 3 个连续的数字。给定任一正整数 N,要求编写程序求出最长连续因子的个数,并输出最小的连续因子序列。

2025-04-18 19:57:54 228

原创 C++:PTA L1-095 分寝室

学校新建了宿舍楼,共有 n 间寝室。等待分配的学生中,有女生 n0​ 位、男生 n1​ 位。所有待分配的学生都必须分到一间寝室。所有的寝室都要分出去,最后不能有寝室留空。现请你写程序完成寝室的自动分配。

2025-04-18 19:42:48 311

原创 C++:L1-054 福到了

福”字倒着贴,寓意“福到”。不论到底算不算民俗,本题且请你编写程序,把各种汉字倒过来输出。这里要处理的每个汉字是由一个 N × N 的网格组成的,网格中的元素或者为字符或者为空格。而倒过来的汉字所用的字符由裁判指定。

2025-04-18 19:02:51 492

原创 L1-046 整除光棍

这里所谓的“光棍”,并不是指单身汪啦~ 说的是全部由1组成的数字,比如1、11、111、1111等。传说任何一个光棍都能被一个不以5结尾的奇数整除。比如,111111就可以被13整除。现在,你的程序要读入一个整数x,这个整数一定是奇数并且不以5结尾。然后,经过计算,输出两个数字:第一个数字s,表示x乘以s是一个光棍,第二个数字n是这个光棍的位数。这样的解当然不是唯一的,题目要求你输出最小的解。提示:一个显然的办法是逐渐增加光棍的位数,直到可以整除x为止。但难点在于,s。

2025-04-18 18:35:19 315

原创 C++:PTA 1052 卖个萌

萌萌哒表情符号通常由“手”、“眼”、“口”三个主要部分组成。现给出可选用的符号集合,请你按用户的要求输出表情。

2025-04-17 19:10:57 583

原创 C++:PTA1042 字符统计

请编写程序,找出一段给定文字中出现最频繁的那个英文字母。

2025-04-16 12:59:13 255

原创 PTA 1105-链表合并(C++)

给定两个单链表𝐿1=𝑎1→𝑎2→⋯→𝑎𝑛−1→𝑎𝑛L1​=a1​→a2​→⋯→an−1​→an​和𝐿2=𝑏1→𝑏2→⋯→𝑏𝑚−1→𝑏𝑚L2​=b1​→b2​→⋯→bm−1​→bm​。如果𝑛≥2𝑚n≥2m,你的任务是将比较短的那个链表逆序,然后将之并入比较长的那个链表,得到一个形如𝑎1→𝑎2→𝑏𝑚→𝑎3→𝑎4→𝑏𝑚−1⋯a1​→a2​→bm​→a3​→a4​→bm−1​⋯的结果。例如给定两个链表分别为 6→7 和 1→2→3→4→5,你应该输出 1→2→7→3→

2025-03-24 22:52:49 355

空空如也

空空如也

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

TA关注的人

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