自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 E. 二叉搜索树的最近公共祖先

输入的第一行给出两个正整数:待查询的结点对数 M(≤ 1 000)和二叉搜索树中结点个数 N(≤ 10 000)。随后一行给出 N 个不同的整数,为二叉搜索树的先序遍历序列。给定一棵二叉搜索树的先序遍历序列,要求你找出任意两结点的最近公共祖先结点(简称 LCA)。如果 二叉搜索树中找不到以 U 或 V 为键值的结点,则输出。但如果 U 和 V 中的一个结点是另一个结点的祖先,则在一行中输出。是它们的最近公共祖先结点的键值,则在一行中输出。对每一对给定的 U 和 V,如果找到。是那个祖先结点的键值,

2023-11-27 23:15:47 400

原创 拯救007

在老电影“007之生死关头”(Live and Let Die)中有一个情节,007被毒贩抓到一个鳄鱼池中心的小岛上,他用了一种极为大胆的方法逃脱 —— 直接踩着池子里一系列鳄鱼的大脑袋跳上岸去!设鳄鱼池是长宽为100米的方形,中心坐标为 (0, 0),且东北角坐标为 (50, 50)。给定池中分布的鳄鱼的坐标、以及007一次能跳跃的最大距离,你需要告诉他是否有可能逃出生天。随后 N 行,每行给出一条鳄鱼的 (x,y) 坐标。如果007有可能逃脱,就在一行中输出"Yes",否则输出"No"。

2023-11-20 20:33:34 108 1

原创 关键路径-非stl版

第三行开始,每条边的时间长度,格式为源结点 目的结点 长度。给定有向图无环的边信息,求每个顶点的最早开始时间、最迟开始时间。第一行:第个顶点的最早开始时间。第二行:每个顶点的最迟开始时间。

2023-11-13 22:40:59 89

原创 DS图—图非0面积

编程计算由"1"围成的下列图形的面积。面积计算方法是统计"1"所围成的闭合曲线中"0"点的数目。如图所示,在10*10的二维数组中,"1"围住了15个点,因此面积为15。对每个二维数组,输出符号"1"围住的"0"的个数,即围成的面积。假设一定有1组成的闭合曲线,但不唯一。第一次觉得打代码这么有意思捏。要是oj的题目设计能多点投机取巧,少点空间复杂度该多好哈哈哈/乐。一个由0和1组成的m*n的二维数组。

2023-11-06 23:46:58 149

原创 DS图—最小生成树

根据输入创建无向网。分别用Prim算法和Kruskal算法构建最小生成树。(假设:输入数据的最小生成树唯一。对两种算法,按树的生长顺序,输出边信息(Kruskal中边顶点按数组序号升序输出)m条边信息,格式为:顶点1顶点2权值。输出最小生成树的权值之和。Prim算法的起点v。

2023-11-06 23:41:11 115

原创 道路建设 (Ver. I)

然后是N行,其中第i行包含N个整数,这些N个整数中的第j个是村庄i和村庄j之间的距离(距离是[1,1000]内的整数)。然后是整数Q(0 <= Q <= N *(N + 1)/ 2),接下来是Q行,每行包含两个整数a和b(1 <= a <b <= N),代表着村庄a和村庄b之间的道路已经建成。两个村A和B是相连的,当且仅当A和B之间有一条道路,或者存在一个村C使得在A和C之间有一条道路,并且C和B相连。有N个村庄,编号从1到N,你应该建造一些道路,使每个村庄都可以相互连接。

2023-11-06 23:38:40 168

原创 C. 串应用- 计算一个串的最长的真前后缀

给定一个串,如ABCDAB,则ABCDAB的真前缀有:{ A, AB,ABC, ABCD, ABCDA }ABCDAB的真后缀有:{ B, AB,DAB, CDAB, BCDAB } 因此,该串的真前缀和真后缀中最长的相等串为AB,我们称之为该串的“最长的真前后缀”。试实现一个函数string matched_Prefix_Postfix(string str),得到输入串str的最长的真前后缀。若不存在最长的真前后缀则输出empty。n个最长的真前后缀,若不存在最长的真前后缀则输出empty。

2023-10-10 17:00:43 132 1

原创 DS队列----银行单队列多窗口模拟

假设银行有K个窗口提供服务,窗口前设一条黄线,所有顾客按到达时间在黄线后排成一条长龙。当有窗口空闲时,下一位顾客即去该窗口处理事务。当有多个窗口可选择时,假设顾客总是选择编号最小的窗口。在一行中输出平均等待时间(输出到小数点后1位)、最长等待时间、最后完成时间,之间用1个空格分隔,行末不能有多余空格。最后一行给出正整数K(≤10),为开设的营业窗口数。输入第1行给出正整数N(≤1000),为顾客总人数;本题要求输出前来等待服务的N位顾客的平均等待时间、最长等待时间、最后完成时间。

2023-09-25 22:25:25 348 1

原创 DS队列--组队列

以此类推输入完t组以定义同组元素之后,开始输入多个操作命令(<200),对空的组队列进行操作,例如输入ENQUEUE 100,表示把元素100插入队列。1、 ENQUEUE,表示当有新的元素进入队列,首先会检索是否有同一组的元素已经存在,如果有,则新元素排在同组的最后,如果没有则插入队列末尾。组队列是队列结构中一种常见的队列结构,在很多地方有着广泛应用。组队列是是指队列内的元素分组聚集在一起。第1行输入一个t(t<=10),表示1个队列中有多少个组。第2行输入一个第1组的元素个数和数值。

2023-09-25 22:24:10 309 1

原创 DS单链表--合并

感悟:该题的有序排列部分,本人仍沿用了数组思想的冒泡排列,但做到一半突然发现链表有自己的存储数据的特征:那就是并非依靠内存位置顺序排列,而是摆脱了内存顺序限制的;:内存权限上的自由,带来的就是野指针的滋生,内存上减少的约束需要在变动过程中时刻关注内存空间的利用(添加if分流约束或在for(;)中添加约束条件),的,一个人想动,其他人就得跟着动,或者交换位置,因为有空位才能放东西),所以一次冒泡,要交换至少两个元素位置。,(并非一个人动了其他人就要挪窝,动的只是相对位置),所以一般情况下可以只移动一个。

2023-09-14 00:23:28 85 1

原创 链表类模板

每次测试输出二行.第1行输出返回操作获得的数据(如出错则输出error),第2行输出所有操作后链表全部结点的数据.数据类型(I:int, D:double, S:string) 数据个数n 数据1 数据2 ... 数据n。//将第n个节点的数据改成a。//在第n个结点后加。//返回第n个结点的数据。插入节点号(0表示插在第1个结点前面) 数据。第一次自己手搓链表成功。

2023-06-16 17:54:09 79

原创 F. 【程序填空】人民币运算(输入输出重载)

由于OJ编译器对double强制类型转换成int的处理精度有偏差,建议加0.005处理(例如数据1.38,由于误差,在内存中的存储值为1.379999)第2行输入三个整数,表示以元、角、分为参数的人民币金额,例如输入4 5 6,对应人民币对象为4元5角6分。第1行输入一个浮点数,表示以元为单位的人民币金额,例如输入1.23,对应人民币对象为1元2角3分。定义一个人民币类,包括元、角、分三个非负整数属性。第1行输出两个人民币金额比较的结果,具体看样例。第2行输出两个人民币金额相加的结果,具体看样例。

2023-05-30 23:58:50 144 1

原创 E. 向量的加减(输出重载)

编程序定义向量类Vector ,重载运算符“+”、“-”,实现向量之间的加、减运算;并重载运算符”<<”作为向量的输出操作。设向量X=(x1,x2,…,xn)和Y=(y1,y2…2.编写main函数,初始化两个Vector对象的,计算它们之间的加减,并输出结果。第2行: 输入10个int类型的值,初始化第一个Vector对象。第1行:输入10个int类型的值,初始化第一个Vector对象。第1行:2个Vector对象相加后的输出结果。第2行:2个Vector对象相减后的输出结果。1.实现Vector类;

2023-05-30 20:14:54 127 1

原创 OOP矩阵类运算(运算符重载)

请重载加减运算符并自定义矩阵类完成相应的操作。利用重载运算符,实现矩阵的加法,减法。接下来分别为两个矩阵的各个元素。第一行为矩阵的行数和列数。该题含学习日志可参考。

2023-05-18 01:39:24 79 1

原创 学习日志1:运算符重载

自洽

2023-05-18 01:29:11 48 1

原创 (问题:构造函数的多继承)(图形输出(抽象类+多层继承))

多继承初学,仅用来记录,达不到指导参考的效果,望君海涵

2023-05-16 22:41:36 82

原创 判断矩形是否重叠(复合类+友元)

这里采用的补救方式是改变源头的输入(即把swap()函数放在初始化类之前),还有第二种办法是在judge()函数中swap(),同样也能达成影响到最终结果的效果,而且第二种办法看起来可能更符合题意(毕竟方法一使得初始点都并非题义点了),只不过第二种办法需要输入的代码可能会稍微多一点。分别实现CPoint类和CRect类,并在主函数用输入的坐标定义4个CPoint类对象,每2个CPoint对象再构造1个CRect对象,然后写个友元函数,判断2个矩形是否重叠。(接下来就上题目吧)

2023-04-22 16:09:33 156

原创 C. 扑克牌排序(结构体)

大王 梅花10 红桃K 方块9 黑桃8 梅花A 方块Q 小王 黑桃2 黑桃J。大王 小王 黑桃J 黑桃8 黑桃2 红桃K 梅花A 梅花10 方块Q 方块9。黑桃4 红桃10 梅花Q 方块K 黑桃A。黑桃A 黑桃4 红桃10 梅花Q 方块K。红桃K 梅花K 黑桃K 方块K 小王。小王 黑桃K 红桃K 梅花K 方块K。

2023-03-27 16:18:35 688

原创 结构体链表(初学)

简单创建并遍历了一个链表,写下了一些小的疑惑;

2023-03-15 15:36:44 34 1

原创 【id:40】【8分】F. 抄袭查找(结构体+指针+函数)

111

2023-03-13 23:56:57 125 1

原创 【id:22】【8分】I. 分数四则运算(结构)

cpp入门,结构体,函数

2023-03-13 21:54:43 205

空空如也

空空如也

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

TA关注的人

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