自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 1264 更大和树

1264 更大和树描述: 给出二叉搜索树的根节点,该二叉树的节点值各不相同,修改二叉树,使每个节点node 的新值等于原树中大于或等于 node.val 的值之和。输入:输入一行,按照先序输入一棵二叉树,其中空节点用 -1 表示。输出:输出更大和树的先序序列。输入示例4 1 0 -1 -1 2 -1 3 -1 -1 6 5 -1 -1 7 -1 8 -1 -1输出示例30 36 36 -1 -1 35 -1 33 -1 -1 21 26 -1 -1 15 -1 8 -1

2021-12-06 23:22:56 169

原创 1398: 有向无环图的拓扑排序

1398: 有向无环图的拓扑排序描述: 由某个集合上的一个偏序得到该集合上的一个全序,这个操作被称为拓扑排序。偏序和全序的定义分别如下:若集合X上的关系R是自反的、反对称的和传递的,则称R是集合X上的偏序关系。设R是集合X上的偏序,如果对每个x,y∈X必有xRy或yRx,则称R是集合X上的全序关系。由偏序定义得到拓扑有序的操作便是拓扑排序。拓扑排序的流程如下:1. 在有向图中选一个没有前驱的顶点并且输出之;2. 从图中删除该顶点和所有以它为尾的弧。重复上述两步,直至全部顶点均已输出,或者当前

2021-08-25 15:57:47 289

原创 1089 简单迷宫问题(二维广度优先搜索)

1089 简单迷宫问题描述: PIPI定义了一个二维数组:int maze[5][5] = {0, 1, 0, 0, 0,0, 1, 0, 1, 0,0, 0, 0, 0, 0,0, 1, 1, 1, 0,0, 0, 0, 1, 0,};它表示一个迷宫,其中的1表示墙壁,0表示可以走的路,只能横着走或竖着走,不能斜着走,请找出从左上角到右下角的最短路线。输入:仅一组测试用例。一个5 × 5的二维数组,表示一个迷宫。数据保证有唯一解。输出:左上角到右下角的最短路径,格式如样例

2021-08-22 22:25:16 277

原创 1213 顺序表的删除

1213 顺序表的删除描述: 从顺序表L中删除具有最小值的元素(假设唯一)并由函数返回被删元素的值。空出的元素由最后一个元素填补。输入:输入包含一个整数n代表顺序表L长度。接下来包含n个整数,代表顺序表L中的元素。输出:若顺序表为空,输出 “error”.若不为空,输出最小元素的值并输出删除最小值之后的顺序表。输入示例31 2 3输出示例13 2代码块#include <bits/stdc++.h>using namespace std;bo

2021-08-20 17:32:59 367

原创 1399 最小生成树(Prim2)

1399 最小生成树描述: 给出含n个顶点的图,打印最小生成树的所有边输入:输入的第一行包含一个正整数n,表示图中共有n个顶点。其中n不超过50。以后的n行中每行有n个用空格隔开的整数,对于第i行的第j个整数,如果不为0,则表示第i个顶点和第j个顶点有直接连接且代价为相应的值,0表示没有直接连接。当i和j相等的时候,保证对应的整数为0。输入保证邻接矩阵为对称矩阵,即输入的图一定是无向图,且保证图中只有一个连通分量。输出:每一行输出一条边输入示例40 2 4 02 0 3 5

2021-08-15 20:31:06 168

原创 1118 继续畅通工程

1118: 继续畅通工程描述: 省政府“畅通工程”的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有直接的公路相连,只要能间接通过公路可达即可)。现得到城镇道路统计表,表中列出了任意两城镇间修建道路的费用,以及该道路是否已经修通的状态。现请你编写程序,计算出全省畅通需要的最低成本。输入:Input测试输入包含若干测试用例。每个测试用例的第1行给出村庄数目N ( 1< N < 100 );随后的 N(N-1)/2 行对应村庄间道路的成本及修建状态,每行给4个正整数,分别是两个

2021-08-15 15:52:21 99

原创 1099 PIPI的油田(使用查并集)

1099 PIPI的油田描述: PIPI承包了一大片土地,PIPI打了几个油井,发现这片土地的下面有很多地方埋藏着石油,如果一个油井与另一个油井在上,下,左,右,左上,右下,右上,左下这八个方向中的任意一个方向连通,我们就认为这两个油井属于同一个油田。现在这块土地可以看成是一个n*m的方格矩阵,标记为’@‘的方格代表一个油井,标记为’*'的方格代表一块贫瘠的土地。你能告诉PIPI他的这块土地上有几个油田吗?输入:输入包含多组测试样例。对于每组测试样例,输入的第一行是两个正整数 n,m (1&

2021-08-15 15:07:34 218

原创 1399 最小生成树(Prim算法1)

1399 最小生成树描述: 最小生成树问题是实际生产生活中十分重要的一类问题。假设需要在n个城市之间建立通信联络网,则连通n个城市只需要n-1条线路。这时,自然需要考虑这样一个问题,即如何在最节省经费的前提下建立这个通信网。可以用连通网来表示n个城市以及n个城市之间可能设置的通信线路,其中网的顶点表示城市,边表示两个城市之间的线路,赋于边的权值表示相应的代价。对于n个顶点的连通网可以建立许多不同的生成树,每一棵生成树都可以是一个通信网。现在,需要选择一棵生成树,使总的耗费最小。这个问题就是构造连通网

2021-08-11 15:55:09 245

原创 1265 最近公共祖先

1265 最近公共祖先描述: 给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。”输入:输入两行。第一行按照先序输入一棵二叉树,其中空节点用 -1 表示。第二行输入两个结点的值val1, val2 , 输出该结点的双亲节点的val.(数据保证所有节点val的值都不相同)输出:输出一行,代表最近公共祖先的v

2021-08-09 14:32:11 117

原创 1206还原二叉树2

1206还原二叉树2描述: PIPI现在有两个序列,分别为二叉树的中序序列和二叉树的后序序列,他想由这两个序列还原二叉树,你能帮PIPI还原吗?输入:第一行输入序列的长度n (0<n<100).第二行输入二叉树的中序序列。第三行输入二叉树的后序序列。输出:输出二叉树的先序遍历序列。输入示例32 1 32 3 1输出示例1 2 3代码块#include <bits/stdc++.h>using namespace std;ty

2021-08-07 17:04:31 66

原创 1297 树中节点的祖先

树中节点的祖先1297描述: PIPI有一棵结点值均不相同的二叉树,现在他想知道某结点的祖先结点有哪些,你能帮PIPI解决这个问题吗?输入:第一行按照先序输入一棵二叉树,其中空节点用 -1 表示。第二行输入待查询结点的值。输出:输出一行,代表该结点的祖先节点,从根节点开始输出。若树中无该结点,输出"No Node!"。若树中某结点无祖先,输出 “No Ancestor!”输入示例8 3 1 -1 -1 6 4 -1 -1 7 -1 -1 10 -1 14 13 -1 -1 -1

2021-08-07 15:25:56 487

原创 1292中辍转后辍

1292中辍转后辍描述: PIPI现在有若干个包含小写英文字母作为操作数 以及 ‘+’, ‘-’, ‘*’, ‘/’, ‘^’ ,’(’,’)‘七种操作符的合法中缀表达式。请你将其转为后缀表达式(逆波兰式)。PS:’ ^ ’ 代表幂运算,2^3=8输入:输入一个字符串s,表示中缀表达式。输出:输出一个字符串表示对应的后缀表达式。输入示例a+b*c+(d*e+f)*g输出示例abc*+de*f+g*+代码块#include <bits/stdc++.h&g

2021-08-07 15:21:24 101

原创 1371 求根到叶子结点数字之和

1371 求根到叶子结点数字之和描述: 给定一个二叉树,它的每个结点都存放一个1-9的数字,每条从根到叶子节点的路径都代表一个数字。例如,从根到叶子节点路径 1->2->3 代表数字 123。计算从根到叶子节点生成的所有数字之和,答案保证在int范围。输入:输入一行,按照先序输入一棵二叉树,其中空节点用 -1 表示。输出:输出根到叶子节点生成的所有数字之和。输入示例1 2 -1 -1 3 4 -1 -1 -1输出示例146代码块#include&

2021-08-07 15:14:05 93

原创 1362 表达式求值

1362 表达式求值描述:对于一个不存在括号的表达式进行计算(包含加减乘除四种运算符,除法为向下取整)。输入:多组数据,每组数据占据一行。输出:输出计算结果。输入示例6/2+3+3*4734/2-56*2-7*8输出示例18199代码块#include<bits/stdc++.h>using namespace std;int help(int a, int b, char ch){//辅助计算两数相运算的值 switch(ch){

2021-08-07 15:05:30 164

原创 1263 节点与其祖先之间的最大差值

1263 节点与其祖先之间的最大差值描述:给定二叉树的根节点 root,找出存在于不同节点 A和 B 之间的最大值V,其中 V = |A.val - B.val|,且 A 是 B 的祖先。输入:输入一行,按照先序输入一棵二叉树,其中空节点用 -1 表示。输出:输出一行代表最大差值V。输入示例8 3 1 -1 -1 6 4 -1 -1 7 -1 -1 10 -1 14 13 -1 -1 -1输出示例7代码块#include <bits/stdc++.h&gt

2021-08-07 15:01:19 186

原创 1028 全排列

1038 全排列描述:生成由1至n个数的全排列。输入:输入包含多组样例,每组样例输入一个整数n(1≤n≤9)。输出:按照字典序反序输出,每个数值之间用空格隔开。每个排列单独占一行。输入示例4输出示例4 3 2 14 3 1 24 2 3 14 2 1 34 1 3 24 1 2 33 4 2 13 4 1 23 2 4 13 2 1 43 1 4 23 1 2 42 4 3 12 4 1 32 3 4 12 3 1 42 1 4 32 1

2021-08-07 14:51:54 120

原创 1036 扩号匹配2

1036 扩号匹配2描述: PIPI给你一个合法的括号序列,希望跟你按左括号下标递增顺序给出每对括号在序列中的下标。(下标从1开始)输入:多组数据,请处理到EOF。对于每组数据,第一行包括一个只包含’(’,’)'的字符串,保证输入的括号匹配序列合法,长度不超过100000输出:按左括号下标递增顺序给出每对括号在序列中的下标输入示例(())()()输出示例1 4 2 3 5 6 7 8代码块#include <bits/stdc++.h>

2021-08-07 14:50:49 163

原创 1271 反转链表

1271 反转链表描述: 反转长度为N的单链表从位置 L 到 R 的子段。请在常数空间复杂度下使用一趟扫描完成反转。输入:第一行三个整数N,L,R,1<=L<=R<=N,接下来N个数表示N个节点的值输出:反转后的单链表节点值输入示例5 2 41 2 3 4 5输出示例1 4 3 2 5代码块#include <bits/stdc++.h>using namespace std;typedef struct Node{

2021-08-07 14:44:33 175

空空如也

空空如也

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

TA关注的人

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