自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 计算资源调度器

对于第六组计算任务,要启动 11 份应用 3 的任务,并且要求了尽量满足的计算任务反亲和性,不能和应用 3 的其它计算任务分配在同一个节点上,同时要求和应用 1 的计算任务位于同一个可用区。对于第五组计算任务,要在可用区 2 中启动 5 份应用 2 的任务,并且要求了尽量满足的计算任务反亲和性,不能和应用 1 的计算任务分配在同一个节点上。小 C 找到你,希望你能为他提供一个程序,能够输入要运行的计算任务和对节点的要求,结合西西艾弗云的现有计算节点信息,计算出计算任务应该被安排在哪个计算节点上。

2022-09-20 20:01:10 320 1

原创 csp出行计划

这里我们假定等待核酸检测结果需要 个单位时间,即在 时刻可以获得结果。如果一个场所要求持 个单位时间内核酸检测结果入内,那么凭上述的核酸检测结果,可以在第 时刻到第。行,其中每行包含用空格分隔的两个正整数 、,表示一项出行计划;出行计划按时间顺序给出,满足。时刻进入某场所,该场所需持有 个单位时间内的核酸检测结果入内,其中。,分别表示出行计划数目、查询个数以及等待核酸检测结果所需时间。做检测,可以满足第三、四、六项出行计划;做检测,可以满足第四、五、六项出行计划。行,每行一个整数,表示对应查询的答案。

2022-09-20 19:59:28 220

原创 未初始化警告

一个未经初始化的变量,里面存储的值可能是任意的。因此直接使用未初始化的变量,比如将其赋值给另一个变量,并不符合一般的编程逻辑。对代码中使用了未初始化变量的语句进行检查,可以方便地排查出代码中的一些隐秘 Bug。出现过,即存在 满足 (这里无需考虑第 条赋值语句本身是否也有右值未初始化的问题),我们就认为在第 条赋值语句中。条赋值语句的简单代码。条()赋值语句为 ,满足 、,表示将 的值赋给变量。按照上述规则,试统计给定的代码中,有多少条赋值语句右值未被初始化。,分别表示变量的数量和赋值语句的条数。

2022-09-20 19:58:23 271

原创 比较三个数的大小

比较三个数的大小【问题描述】从键盘输入三个整数,比较这三个数的大小。【输入形式】5 3 9【输出形式】3 5 9【样例输入】8 6 3【样例输出】3 6 8【样例说明】任意输入三个整数,比较大小,按从小到大的顺序输出。【评分标准】...

2022-07-07 17:57:00 2566

原创 第一次实验(输入输出-分支if-switch)

【问题描述】将程序补充完整,计算并输出一个三位正整数的个位、十位、百位数字之和。#includeusing namespace std;int main(){ int x,gw,sw,bw; cin>>x; gw=x%10; bw=x/100; sw=/*(1)*/ cout

2022-07-07 17:55:26 133

原创 3. 快速排序

因为懒,就直接输出了三遍,别学我【问题描述】输入一组数据,以0作为输入的结束,分别采用冒泡排序、选择排序、快速排序的方法,对其进行从小到大的排序,给出排序后的结果。【输入形式】一组数据,以0作为输入的结束【输出形式】三种排序后的结果【样例输入】9 8 4 5 7 2 10 6 0【样例输出】2 4 5 6 7 8 9 102 4 5 6 7 8 9 102 4 5 6 7 8 9 10

2022-05-31 21:04:35 258

原创 . 堆排序

【问题描述】请用堆排序的方法对一组数据进行排序,并给出建堆以及每一趟堆排序的结果。【输入形式】一组数据,以0作为输入的结束。【输出形式】建大根堆的结果,以及每一趟堆排序的结果。【样例输入】8 3 6 1 68 12 0【样例输出】68 8 12 1 3 612 8 6 1 3 688 3 6 1 12 686 3 1 8 12 683 1 6 8 12 681 3 6 8 12 68【样例输入】12 9 26 11 38 52 99 27 66 15 32 0【样例输出】99 66 52 2

2022-05-31 21:03:33 450

原创 1. 希尔排序

【问题描述】给出一组数据,请用希尔排序将其按照从小到大的顺序排列好。【输入形式】原始数据,以0作为输入的结束;第二行是增量的值,都只有3个。【输出形式】每一趟增量排序后的结果【样例输入】8 3 6 1 68 12 19 3 1 05 3 1【样例输出】8 3 3 1 68 12 19 6 11 3 1 8 6 3 19 68 121 1 3 3 6 8 12 19 68【样例输入】5 3 9 8 2 4 1 7 10 6 04 2 1【样例输出】2 3 1 7 5 4 9 8 10 61 3 2 4

2022-05-31 21:02:57 472

原创 3. 二叉查找树的后序遍历

3. 二叉查找树的后序遍历【问题描述】输入一个整数数组,判断该数组是不是某二叉查找树的后序遍历的结果。如果是返回true,否则返回false。【输入形式】输入任意长度的数组,数字之间空格分开【输出形式】true 或者 false【样例输入】输入576911108【样例输出】true【样例说明】由于这一整数序列是如下树的后序遍历结果: 8/ \6 10 / \ / \57...

2022-05-24 17:43:46 603

原创 1.2折半查找法的使用

2. 折半查找法的使用【问题描述】给定一个按值有序(升序)的N元整数数组A,采用折半查找法查找关键值k的位置,并给出查找的过程【输入形式】第一行:N第二行:A[0], A[1], ... , A[N-1]第三行:k【输出形式】第一行:k的位置(索引),若不存在则输出‘no’第二行:查找的过程,每一次折半的中间(mid)位置的值,以逗号分隔。例如,1 2 3 4 5的中间位置为3,1 2 3 4的中间位置为2。【样例输入】样例1112,5,8,11,15,16,22,2

2022-05-24 16:10:01 702

原创 二叉排序树

1. 二叉排序树【问题描述】请根据输入的数据创建一棵二叉排序树。然后执行相应操作。1 删除某一值为x的结点2 求指定结点y在二叉排序树中的层数【输入形式】结点数据,以0代表结束输入。待删除的x,待求层数的y【输出形式】创建好的二叉排序树的拓展的前序遍历结果删除后的二叉排序树的中序遍历结果y所在的层数【样例输入】29 39 15 25 28 10 11 2 01011【样例输出】29 15 10 2 # # 11 # # 25 # 28 # #

2022-05-24 16:08:49 394

原创 世界上有2片相同的雪花吗

. 世界上有2片相同的雪花吗【题目来源】3349 -- Snowflake Snow Snowflakes (poj.org)DescriptionYou may have heard that no two snowflakes are alike. Your task is to write a program to determine whether this is really true. Your program will read information about a colle

2022-05-24 12:39:33 531

原创 3. 关键路径求解

3. 关键路径求解【问题描述】AOE网示意图若在带权的有向图中,以顶点表示事件,以有向边表示活动,边上的权值表示活动的开销(如该活动持续的时间),则此带权的有向图称为AOE网。如果用AOE网来表示一项工程,那么,仅仅考虑各个子工程之间的优先关系还不够,更多的是关心整个工程完成的最短时间是多少;哪些活动的延期将会影响整个工程的进度,而加速这些活动是否会提高整个工程的效率。因此,通常在AOE网中 列出完成预定工程计划所需要进行的活动,每个活动计划完成的时间,要发生哪些事件以及这些事件与某活动之间的关系,从而可

2022-05-17 22:03:07 483

原创 拓扑排序

1. 拓扑排序【问题描述】拓扑排序的流程如下:1. 在有向图中选一个没有前驱的顶点并且输出之;2. 从图中删除该顶点和所有以它为尾的弧。重复上述两步,直至全部顶点均已输出,或者当前图中不存在无前驱的顶点为止。后一种情况则说明有向图中存在环。采用邻接表存储有向图(可参考本次实验第2题代码),并通过栈来暂存所有入度为零的顶点。拓扑排序算法请参考教材上算法7.11和7.12或课件上的相应算法。在本题中,读入一个有向图的信息(输入形式同本次实验第2题,详见下述【输入形式】),建立有向图并按

2022-05-17 15:58:00 2121

原创 .弗洛伊德算法求最短路径

5. 弗洛伊德算法求最短路径【问题描述】对于下面一张若干个城市,以及城市之间距离的地图,请采用弗洛伊德算法求出所有城市之间的最短路径。【输入形式】顶点个数n,以及n*n的邻接矩阵,其中不可达使用9999表示。【输出形式】每两个顶点之间的最短路径和经过的顶点注意:规定顶点自身到自身的dist值为0,此时path为该顶点编号。【样例输入】49999 4 11 99996 9999 2 99991 9999 9999 19999 3 9999 9999【样

2022-05-17 08:34:36 882 3

原创 迪杰斯特拉算法求最短路径

4. 迪杰斯特拉算法求最短路径【问题描述】在带权有向图G中,给定一个源点v,求从v到G中的其余各顶点的最短路径问题,叫做单源点的最短路径问题。在常用的单源点最短路径算法中,迪杰斯特拉算法是最为常用的一种,是一种按照路径长度递增的次序产生最短路径的算法。请在本题中,读入一个有向图的带权邻接矩阵(即数组表示),建立有向图并参考《耿》教材中算法7.15,编程求出源点至图中每一个其它顶点的最短路径长度。【输入形式】输入的第一行依次是2个正整数n和s,表示图中共有n个顶点,且源点编号为s(顶点编

2022-05-16 22:07:37 1169

原创 7.等值子串

【问题描述】如果字符串的一个子串(其长度大于1)的各个字符均相同,则称之为等值子串。试设计一算法,求出串S中一个长度最大的等值子串;如果串S 中不存在等值子串,则输出信息no【输入形式】输入一个字符串,并以!结束【输出形式】输出第一个出现的最长字符串,如果没有输出no【样例输入】aabc123abc123cc!【样例输出】aa【样例输入】abceebccadddddaaadd!【样例输出】ddddd#include <iostream>using names.

2022-05-05 22:57:08 740

原创 6. 最长回文子串

6. 最长回文子串【问题描述】给定一个字符串s,找出s里第一次出现的最长的回文子串。【样例输入1】babad【样例输出1】bab【样例输入2】cbbd【样例输出2】bb#include <iostream>#include <cstring>using namespace std;struct ma{ char b[100]; int len = 0;} a, temp;bool ju(char s[], int n){ in

2022-05-05 22:55:19 78

原创 大整数相乘

【问题描述】输出两个不超过100位的大整数的乘积。要求用串这一章的“块链串”知识实现两个大整数的相乘。比如每一个结点存储5位,12345678983426801则需要4个结点;先实现大整数乘上一个一位数;再实现两个大数相加。用这样的链式存储形式便于计算:12--->34567--->89834--->26801或者:26801--->89834--->34567--->12【输入形式】两个大数【输出形式】相乘的结果【样例输入】12345

2022-05-05 22:53:51 288

原创 Jungle Roads kruskal算法

12. Jungle Roads请用kruskal算法编程实现下面的问题。DescriptionThe Head Elder of the tropical island of Lagrishan has a problem. A burst of foreign aid money was spent on extra roads between villages some years ago. But the jungle overtakes roads relentlessly, so

2022-05-05 22:52:48 258

原创 1. 最小生成树的权值之和

1. 最小生成树的权值之和【问题描述】已知含有n个顶点的带权连通无向图,采用邻接矩阵存储,邻接矩阵以三元组的形式给出,只给出不包括主对角线元素在内的下三角形部分的元素,且不包括不相邻的顶点对。请采用Prim算法,求该连通图从1号顶点出发的最小生成树的权值之和。【输入形式】第一行给出结点个数n和三元组的个数count,以下每行给出一个三元组,数之间用空格隔开。(注意这里顶点的序号是从1到n,而不是0到n-1,程序里要小心!)【输出形式】求解的最小生成树的各条边、边的权值之和【样例输入】...

2022-05-01 20:32:38 1773 1

原创 . 图形窗口问题

5. 图形窗口问题【问题描述】在某图形操作系统中,有N个窗口,每个窗口都是一个两边与坐标轴分别平行的矩形区域。窗口的边界上的点也属于该窗口。窗口之间有层次的区别,在多于一个窗口重叠的区域里,只会显示位于顶层的窗口里的内容。当你点击屏幕上一个点的时候,你就选择了处于被点击位置的最顶层窗口,并且这个窗口就会被移到所有窗口的最顶层,而剩余的窗口的层次顺序不变。如果你点击的位置不属于任何窗口,则系统会忽略你这次点击。现在我们希望你写一个程序模拟点击窗口的过程。【输入形式】输入的第一行有两个正整

2022-04-30 16:31:27 230

原创 4.犯罪团伙

4. 犯罪团伙【题目描述】此题必须采用邻接表的存储结构,建立图的存储,然后采用DFS遍历实现求解。否则不给分。警察抓到了 n 个罪犯,警察根据经验知道他们属于不同的犯罪团伙,却不能判断有多少个团伙,但通过警察的审讯,知道其中的一些罪犯之间相互认识,已知同一犯罪团伙的成员之间直接或间接认识。有可能一个犯罪团伙只有一个人。请你根据已知罪犯之间的关系,确定犯罪团伙的数量。已知罪犯的编号从 1 至 n。【输入】第一行:n(<=1000,罪犯数量),第二行:m(<5000,关系数量)以下

2022-04-29 17:38:35 320

原创 3. 图的遍历及连通性

3. 图的遍历及连通性【问题描述】根据输入的图的邻接矩阵A,判断此图的连通分量的个数。请使用邻接矩阵的存储结构创建图的存储,并采用BFS优先遍历算法实现,否则不得分。【输入形式】第一行为图的结点个数n,之后的n行为邻接矩阵的内容,每行n个数表示。其中A[i][j]=1表示两个结点邻接,而A[i][j]=0表示两个结点无邻接关系。【输出形式】输出此图连通分量的个数。【样例输入】50 1 1 0 01 0 1 0 01 1 0 0 00 0 0 0 10 0 0 1 ...

2022-04-29 00:45:23 1049

原创 1. 哈夫曼编码

1. 哈夫曼编码【问题描述】读入n个字符所对应的权值,自底向上构造一棵哈夫曼树,自顶向下生成每一个字符对应的哈夫曼编码,并依次输出。另,求解某字符串的哈夫曼编码,求解某01序列的译码。【输入形式】输入的第一行包含一个正整数n,表示共有n个字符需要编码。其中n不超过100。第二行中有n个用空格隔开的正整数,分别表示n个字符的权值,依次按照abcd...的默认顺序给出。然后是某字符串和某01序列。【输出形式】前n行,每行一个字符串,表示对应字符的哈夫曼编码。然后是某字符串的哈夫曼编码,某01序列的译码

2022-04-26 16:56:12 1363

原创 2. 带权路径长度

2. 带权路径长度【问题描述】 输入一串正整数,正整数之间用空格键分开,请建立一棵哈夫曼树,以输入的数字作为叶子节点,求这棵哈夫曼树的带权路径长度。【输入形式】 首先输入正整数的个数n,然后是对应的n个正整数,正整数个数不超过10个【输出形式】 输出创建的哈夫曼树的带权路径总长度【样例输入】 5 4 5 6 7 8【样例输出】 69#include <iostream>using namespace std;typedef struct node{ int

2022-04-26 15:12:35 1075

原创 3. 中序线索二叉树

3. 中序线索二叉树【问题描述】创建一棵二叉树,接着中序线索化该二叉树,然后编写相应函数遍历该中序线索二叉树【编码要求】线索二叉树遍历过程中不能使用递归、不能使用栈。【输入形式】二叉树拓展的前序遍历序列【输出形式】中序遍历序列【样例输入】AB#D##CE###【样例输出】BDAEC#include <iostream>using namespace std;#include <cstring>struct node{ char data;

2022-04-20 11:19:54 1383

原创 4. 二叉树左右子树交换操作

【问题描述】二叉树按照二叉链表的方式存储。编写程序,计算二叉树中叶子结点的数目并输出;编写程序,将二叉树的每个结点的左、右子树进行交换,请注意不是只交换结点的data值,而是左、右孩子指针指向的交换,最后输出交换后的二叉树的后序遍历序列。【输入形式】二叉树的前序遍历序列,空指针的位置输入字符#【输出形式】叶子结点的数目;左右子树交换后,后序遍历的序列,空子树的位置输出字符#【样例输入】ABE##F##CG###【样例输出】3###GC##F##EBA#include &lt

2022-04-20 09:03:48 1790

原创 2. 二叉树结点的共同祖先问题

【问题描述】假设二叉树采用二叉链表方式存储,root指向根结点,p所指结点和q所指结点为二叉树中的两个不同结点,且互不成为根到该结点的路径上的点,编程求解距离它们最近的共同祖先。【输入形式】二叉树的前序和中序遍历序列,用以创建该二叉树的链式存储结构;以及二叉树的两个结点数据 x 和 y【输出形式】结点数据值为 x 和结点数据值为 y 的最近的共同祖先,若没有共同祖先则输出NULL,请注意一个结点本身不能成为另一个结点的共同祖先。【样例输入】GABDCEFBDAEFCGDF【样例输

2022-04-20 08:17:02 1050

原创 【问题描述】将一个数组中的元素循环右移K位,要求只使用一个元素大小的附加存储空间,时间复杂度为O(n)。

【问题描述】将一个数组中的元素循环右移K位,要求只使用一个元素大小的附加存储空间,时间复杂度为O(n)。【样例输入】1 2 3 4 5 6 7 8 02【样例输出】7 8 1 2 3 4 5 6【提示】0代表输入结束#include <iostream>using namespace std;void reverse(int start, int end, int a[], int temp){ while (start < end) {

2022-04-19 22:31:25 963 1

原创 1. 二叉树的深度及结点最远距离

1. 二叉树的深度及结点最远距离【问题描述】考研真题:求二叉树的深度及二叉树中最远两个结点的距离。【输入形式】拓展的前序遍历序列【输出形式】深度和距离【样例输入】AB#C##​#include <iostream>#include <cstring>using namespace std;struct node{ char data; node *lc, *rc;};node *cre(char a[], int len, int

2022-04-19 20:40:01 1100

原创 考研真题:给定一颗二叉树,要求从下至上按层遍历二叉树,每层的访问顺序是从左到右,每一层单独输出一行。

【问题描述】 考研真题:给定一颗二叉树,要求从下至上按层遍历二叉树,每层的访问顺序是从左到右,每一层单独输出一行。【输入形式】 广义表表示的二叉树,结点元素类型为整型,且都大于0,例如:1( 2( 3 ( 4, 5 ) ), 6( 7, 8( 9, 10 ) ) )【输出形式】 从下至上,打印每一层的结点元素值,元素间以空格隔开。每层的访问顺序是从左到右,每一层单独输出一行。【样例输入】 1(2(3(4,5)),6(7,8(9,10))),字符串内没有空格【样例输出】4 5 9 10.

2022-04-15 00:32:38 2221

原创 数组存储的完全二叉树的先序遍历

【问题描述】课后作业习题25:n个结点的完全二叉树顺序存储在一维数组a中,设计一个算法,实现对此二叉树的先序遍历。【输入形式】一维数组a,以#结束输入,请接收后存储在一维数组a中【输出形式】先序遍历序列【样例输入】ABCDEF#【样例输出】ABDECF#include <iostream>using namespace std;struct node{ char data; node *l, *r;};char cp[101];node *cre

2022-04-13 21:01:38 2921 1

原创 5. 二叉树根据中序和后序求前序遍历

【问题描述】 根据一棵二叉树的中序遍历序列和后序遍历序列,求这棵树的前序遍历序列。【输入形式】 一棵树的中序遍历序列和该树后序遍历序列。输入序列中仅含有小写字母,且没有重复的字母【输出形式】 一棵树的前序遍历序列【样例输入】dbeafcgdebfgca【样例输出】abdecfg#include <bits/stdc++.h>using namespace std;char mid[200], last[200];void build(int x, int y

2022-04-12 23:35:02 1736

原创 4. 二叉树的创建及求解二叉树的宽度

【问题描述】求解二叉树的宽度,请用递归和非递归两种方法求解。【输入形式】前序和中序序列建树【输出形式】递归和非递归求解的宽度值【样例输入】abcdefgcbdaegf【样例输出】3 3#include <iostream>using namespace std;#include <cstring>#include <queue>struct node{ char data; node *lchild; n

2022-04-12 23:34:28 994

原创 二叉树的先序遍历 非递归算法

【问题描述】给出一个按照“扩展遍历序列”的扩展先序遍历序列字符串,'.' 代表空的子节点,大写字母代表节点内容。请通过这个字符串建立二叉树,并参考课件上的算法,对该树利用栈进行非递归算法的遍历。注意,不用栈和非递归算法 不给分!【输入形式】输入只有1行(以回车结束),包含一个字符串S,用来建立二叉树。保证S为合法的二叉树扩展先序遍历字符串,节点内容只有大写字母,且S的长度不超过80。【输出形式】 输出对该树先序遍历得出的节点序列。【样例...

2022-04-12 23:33:53 2316

原创 二叉树的递归遍历

【问题描述】给出一个按照“扩展遍历序列”的扩展先序遍历序列字符串,'.' 代表空的子节点,大写字母代表节点内容。请通过这个字符串建立二叉树,并分别采用“递归”的先序、中序、后序遍历算法输出该树的每个非空节点构成的序列。【提示】利用全局变量char *cp,让它始终指向串S中当前读取的字符ch【输入形式】输入只有1行(以回车结束),包含一个字符串S,用来建立二叉树。保证S为合法的二叉树扩展先序遍历字符串,节点内容只有大写字母,且S的长度不超过80。【输出...

2022-04-12 23:33:04 529 2

原创 1. KMP模式匹配 - 矫正版

【问题描述】KMP算法是字符串模式匹配算法中较为高效的算法之一,其在某次子串匹配母串失败时并未回溯母串的指针而是将子串的指针移动到相应的位置。【输入形式】1组字符串,每组字符串占一行。每行包含由空格分隔的两个字符串,字符串仅由英文小写字母组成且长度不大于100。【输出形式】每组数据输出1行,输出后一个字符串在前一个字符串中的位置,如果不匹配,则输出0。【样例输入】thisisalongstring isa【样例输出】5【提示】表示字符串的数据结构可以是字符数组或用串类实现。KMP

2022-04-12 23:32:04 109

原创 扫雷游戏,比较傻的办法

扫雷游戏是一款十分经典的单机小游戏。在nnn行mmm列的雷区中有一些格子含有地雷(称之为地雷格),其他格子不含地雷(称之为非地雷格)。玩家翻开一个非地雷格时,该格将会出现一个数字——提示周围格子中有多少个是地雷格。游戏的目标是在不翻出任何地雷格的条件下,找出所有的非地雷格。现在给出nnn行mmm列的雷区中的地雷分布,要求计算出每个非地雷格周围的地雷格数。注:一个格子的周围格子包括其上、下、左、右、左上、右上、左下、右下八个方向上与之直接相邻的格子。输入格式第一行是用一个空格隔开的两个整数nn

2022-04-10 20:45:11 124

原创 自己之前写的一个职工管理系统

#include <fstream>#include <iostream>#include <string>#define FILENAME "empFile.txet"using namespace std;//--------------------------------------class Worker{public: virtual void ShowInfo() = 0; virtual string getDeptName.

2022-04-10 20:44:27 113

空空如也

空空如也

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

TA关注的人

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