
递归
递归程序学习和复习
Ming_Law
广西南宁市西乡塘区的初一新生
展开
-
欧拉路,欧拉回路
题目描述有一个无向图,图中要么有两个奇点要么0奇点,如果是欧拉回路请从第一个点(1号点)为起点开始遍历,如果有两个奇点,则以字典序大的为起点开始遍历,在遍历的过程中,字典序小结点的先遍历。请输出满足条件的欧拉路或者欧拉回路。输入第一行两个整数,n和e,表示有n个结点(结点编号为1~n),e条边。接下来e行,每行有2个数,代表这两个结点之间有一条边。(本题数据保证两个结点之间最多只有1条边,确保本题存在欧拉路或者欧拉回路)输出只有一行,为满足条件的欧拉路或欧拉回路。样例。原创 2023-09-09 13:58:16 · 318 阅读 · 0 评论 -
P1164 小A点菜
餐馆虽低端,但是菜品种类不少,有 N 种 (N≤100),第 i 种卖ai 元 (ai≤1000)。由于是很低端的餐馆,所以每种菜只有一份。小 A 奉行“不把钱吃光不罢休”,所以他点单一定刚好把 uim 身上所有钱花完。第二行起 N 个正数 ai(可以有相同的数字,每个数字均在 1000 以内)。不过 uim 由于买了一些书,口袋里只剩 M 元 (M≤10000)。uim 指着墙上的价目表(太低级了没有菜单),说:“随便点”。一个正整数,表示点菜方案数,保证答案的范围在 int 之内。原创 2023-08-13 16:26:34 · 291 阅读 · 0 评论 -
二分查找(分治)
题目描述请在一个有序递增数组中(不存在相同元素),采用二分查找,找出值 x 的位置,如果 x 在数组中不存在,请输出-1!输入第一行,一个整数 n ,代表数组元素个数(n≤10^6)第二行,n 个数,代表数组的 n 个递增元素(1≤数组元素值≤10^8)第三行,一个整数 x ,代表要查找的数(0≤x≤10^8)输出x 在数组中的位置,或者-1。样例。原创 2023-08-11 00:24:47 · 538 阅读 · 0 评论 -
卫星照片(dfs)
农夫约翰总是想要一个农场的地图,所以他拍摄了一张 N 行 M 列的卫星照片。他认为每个联通块都是一个谷仓或一头奶牛。联通块由若干个彼此水平或垂直相邻的 '#' 符号组成。农夫约翰认为一个联通块是谷仓,当且仅当它是一个完整的矩形,否则该联通块是一头奶牛。在第一张照片上面,有三个谷仓(大小分别为 2×12×1 , 2×52×5 和 1×11×1 )和两头奶牛。计算他的卫星照片中谷仓和奶牛的数量。输入行 11:两个空格分隔的整数: N 和 M ( 0N,M≤80)。原创 2023-08-08 20:44:04 · 294 阅读 · 0 评论 -
小X学游泳(深搜)
DFS原创 2023-08-08 20:39:17 · 627 阅读 · 0 评论 -
象棋中“马”的题目(深搜)
题目描述中国象棋半张棋盘如图(a)所示。马自左下角往右上角跳。今规定,且要求马跳的方式按照(b)图。比如图(a)中所示为一种跳行路线。如果马要从 0,0 点,跳到 4,8 点,前 6 种跳法的打印格式如下,请参考前6 种跳的方式,输出马从 0,0 点到 4,8 点所有可能的跳的路线。原创 2023-08-08 20:29:08 · 251 阅读 · 0 评论 -
全排列的结果+素数环(回溯)
题目描述从键盘读入一个整数 n,请输出 1∼n 中所有整数的全排列,按照由小到大输出结果,每组的 n 个数之间用空格隔开。全排列的含义:从 n 个不同元素中任取 m (m≤n)个元素,按照一定的顺序排列起来,叫做从n 个不同元素中取出 m 个元素的一个排列。当 m=n 时所有的排列情况叫全排列。输入一个整数 n(1≤n≤6);输出1∼n 中所有数的全排列的结果,按照由小到大输出,每行 n 个数。样例。原创 2023-08-07 23:37:59 · 208 阅读 · 0 评论 -
迷宫的所有路径(回溯DFS)
【代码】迷宫的所有路径(回溯DFS)原创 2023-08-07 23:31:24 · 997 阅读 · 0 评论 -
dfs之卒的遍历
题目描述在一张n×m 的棋盘上(如 6 行 7 列)的最左上角(1,1) 的位置有一个卒。该卒,且卒采取的策略是,请问从(1,1) 点走到 (n,m) 点可以怎样走,输出这些走法。输入两个整数n,m 代表棋盘大小(3≤n≤8,3≤m≤8)输出卒的行走路线。样例。原创 2023-08-07 23:24:42 · 463 阅读 · 1 评论 -
走出迷宫的最少步数and第一条出路
0 表示可以通过,1 表示不能通过),用以描述迷宫地图。入口在左上角 (1,1)处,出口在右下角(N,N) 处。复制(1,1)->(1,2)->(1,3)->(2,3)->(2,4)->(3,4)->(4,4)输出数据仅一行,为按照要求的搜索顺序找到的从入口到出口的第一条路径(搜索顺序:左、上、右、下)输入数据有若干行,第一行有一个自然数 N(N≤20),表示迷宫的大小;已知一 N×N 的迷宫,允许往上、下、左、右四个方向行走,现请你。其后有 N 行数据,每行有 N 个 0 或 1(原创 2023-08-07 23:18:24 · 729 阅读 · 0 评论 -
数池塘(四方向,八方向)深搜
数池塘(四方向,八方向)深搜原创 2023-08-07 23:01:29 · 1677 阅读 · 1 评论 -
迷宫出口问题求解(DFS)
【代码】迷宫出口问题求解(DFS)原创 2023-08-07 22:53:06 · 517 阅读 · 0 评论 -
扫地机器人(dfs基础)
【代码】扫地机器人(dfs基础)原创 2023-08-07 22:34:17 · 338 阅读 · 0 评论 -
汉诺塔问题
约19世纪末,在欧州的商店中出售一种智力玩具,在一块铜板上有三根杆,最左边的杆上自上而下、由小到大顺序串着由64个圆盘构成的塔。目的是将最左边杆上的盘全部移到中间的杆上,条件是一次只能移动一个盘,且不允许大盘放在小盘的上面。由于条件是一次只能移动一个盘,且不允许大盘放在小盘上面,所以64个盘的移动次数是:18,446,744,073,709,551,615。每次移动的记录为例如 a->3->b 的形式,即把编号为3的盘子从a杆移至b杆。整数为盘子的数目,后三个字符表示三个杆子的编号。原创 2023-08-04 17:08:37 · 153 阅读 · 0 评论 -
用递归从0输出到100再从100输出回0
【代码】用递归从0输出到100再从100输出回0。原创 2023-08-04 14:59:23 · 81 阅读 · 0 评论 -
斐波那契数列求和(递归)
【代码】斐波那契数列求和(递归)原创 2022-10-10 22:42:18 · 1077 阅读 · 2 评论 -
递归正反序输出1到100(深入理解递归过程中的堆栈的入栈和出栈过程)
【代码】递归正反序输出1到100。原创 2022-10-10 14:14:14 · 379 阅读 · 0 评论 -
快速排序(递归写法)---分治算法思想
【代码】快速排序(递归写法)---分治算法思想。原创 2022-10-10 13:54:25 · 116 阅读 · 0 评论