![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
AC Maker
XMUer 2020
展开
-
【码蹄集】四柱河内塔
河内塔问题:有三个柱子,编号为1,2,3;在编号为1的柱子上有n个大小不同圆盘,圆盘从小到大,从上到下堆叠,你只可以移动—个柱子上最上面的圆盘。现在你需要将编号为1的柱子上的圆盘移到3柱子上,顺序不变。注意:你在移动过程中,不可以将大的圆盘放在小圆盘上,你一次只可以移动一个盘子;现在有一个4个柱子的河内塔,在规则不变的情况下,问最少需要移动多少次才能把盘子从1号柱子移到4号柱子上。...原创 2022-07-02 20:39:03 · 576 阅读 · 0 评论 -
任务调度的合理性【拓扑排序】
拓扑排序:拓扑排序(Topological Sorting)是一个有向无环图(DAG, Directed Acyclic Graph)的所有顶点的线性序列。 且该序列必须满足下面两个条件: 每个顶点出现且只出现一次。 若存在一条从顶点A 到顶点B 的路径,那么在序列中顶点A 出现在顶点B 的前面拓扑排序适用于求工程的合理性。拓扑排序的思路:将所有入度为0的点入栈。依次遍历输出栈中的点,并经其所在的边都删除,更新其他点的入度。再 将所有入度为0的点入栈(重复以上过程)下面以一道经典例题为例:原创 2021-11-16 23:50:26 · 243 阅读 · 0 评论 -
旅游规划pta(无向图求顶点间最短路径)
关于求图的顶点间最短路径问题,基本分为两种算法:Dijkstra算法Floyd算法Dijkstra算法是用来求图中某个源点到其他顶点的最短路径的,而Floyd是用来求图中任意两个顶点间的最短路径。原理上Floyd可以对Dijkstra算法遍历以便所有顶点得到,但是Flody的写法更简单一点。下面以一道经典例题为例题目来源:PTA旅游规划有了一张自驾旅游路线图,你会知道城市间的高速公路长度、以及该公路要收取的过路费。现在需要你写一个程序,帮助前来咨询的游客找一条出发地和目的地之间的最短路径。原创 2021-11-16 23:31:30 · 1295 阅读 · 0 评论 -
树的遍历【PTA】
关于树的遍历树的遍历分为先序、中序、后序以及层序等等。以下题目来自PTA老师布置的题目。题目给定一棵二叉树的后序遍历和中序遍历,请你输出其层序遍历的序列。这里假设键值都是互不相等的正整数。输入格式:输入第一行给出一个正整数N(≤30),是二叉树中结点的个数。第二行给出其后序遍历序列。第三行给出其中序遍历序列。数字间以空格分隔。输出格式:在一行中输出该树的层序遍历的序列。数字间以1个空格分隔,行首尾不得有多余空格。输入样例:72 3 1 5 7 6 41 2 3 4 5 6 7输出原创 2021-11-02 18:57:40 · 1376 阅读 · 2 评论 -
求解迷宫从入口到出口的路径【算法】【栈】【深度优先搜索】
题目:求解迷宫从入口至出口的路径创建一个迷宫,求从入口通向出口的可行路径。为简化问题,迷宫用二维数组 int maze[10][10]来存储障碍物的分布。假设迷宫的横向和纵向尺寸的大小是一样的,并由程序运行读入, 若读入迷宫大小的值是n(3<n<=10),则该迷宫横向或纵向尺寸都是n,规定迷宫最外面的一圈是障碍物,迷宫的入口是maze[1][1],出口是maze[n-2][n-2], 若maze[i][j] = 1代表该位置是障碍物,若maze[i][j] = 0代表该位置是可以行走的空位原创 2021-10-05 22:57:50 · 4964 阅读 · 1 评论 -
约瑟夫环【数组模拟环形链表】
题目N个人围成一圈顺序编号,从1号开始按1、2、3…顺序报数,报p者退出圈外,其余的人再从1、2、3开始报数,报p的人再退出圈外,以此类推。 请按退出顺序输出每个退出人的原序号。输入格式输入只有一行,包括一个整数N(1<=N<=3000)及一个整数p(1<=p<=5000)。输出格式按退出顺序输出每个退出人的原序号,数据间以一个空格分隔,但行尾无空格。测试样例输入 7 3输出 3 6 2 7 5 1 4分析这道题可以建立一个用数组模拟的环形链表,每次输出一个数后,原创 2021-09-23 08:53:11 · 160 阅读 · 0 评论 -
算法 反复删去链表中由总和值为0的连续节点组成的序列,直到不存在这样的序列为止。
题目给你一个链表的头节点 head.反复删去链表中由总和值为0的连续节点组成的序列,直到不存在这样的序列为止。删除完毕后,请你返回最终结果链表的头节点。你可以返回任何满足题目要求的答案。这题暴力方法肯定无法实现。如何实现?先给出后缀的定义比如一个链表如 1->2->3->4->NULL。则1的后缀只有12的后缀有1 和1->23的后缀有1 和 1->2 和 1->2->3即后缀包含以该节点结尾的的连续节点。后缀和就是这些数字的和先给出代码模原创 2021-07-20 18:33:04 · 370 阅读 · 6 评论 -
C++解数独(深度搜索)
本题来自本人C语言实践课程的补充题目/*测试数据(世界上最难的数独)800000000003600000070090200050007000000045700000100030001000068008500010090000400*//*思路:本体采用深度优先搜索,从棋盘的第一个位置开始搜索首先调用pos函数存储每个空位上可能填的数再从第一个空位开始,深度搜索所有的结果当成功搜完最后一个元素时,回溯这样就能完成解法*/#include<iostream>.原创 2021-07-07 12:47:18 · 1334 阅读 · 0 评论