- 博客(3)
- 收藏
- 关注
原创 八皇后问题(openjuge)
我们从列开始枚举,先要判断该行该列有没有被标记过,如果没有我么就可以将皇后放在这了,然后因为这里已经放过皇后了就要标记一下,在进行自我调用去选找下一个位置,在调用后要进行数组清零。一共花有四种位置要标记,其中我们不用去标记列因为我们枚举的就是列,那么就会分为行,左斜行(由左到右),右斜行(由右到左)这三种标记的规律不同,我们用一个图来理解一下。既然要用递归,那我们首先就要确定一下边界以及从哪几个方面判断,我们用一个图来理解一下。按给定顺序和格式输出所有八皇后问题的解(见Sample Output)。
2024-01-06 14:17:48
934
1
原创 进制转换(luogu)
共三行,第一行是一个正整数,表示需要转换的数的进制 n (2≤n≤16),第二行是一个 n 进制数,若 n>10 则用大写字母 A∼F 表示数码10∼15,并且该 n 进制数对应的十进制的值不超过 10^9,第三行也是一个正整数,表示转换之后的数的进制 m (2≤m≤16)。就这道题而言我们首先要判断该数的长度,由于由于该进制的数中既会存在字母也会存在数字所以我i们统一定义成字符串string类型,对于该数的每一位进行判断然后根据上图的方式将其转换成十进制的数。一个正整数,表示转换之后的 m 进制数。
2023-12-30 13:47:12
416
原创 数字全排列
简单来说就是先确定下来一个数的位置,再排下一个数,我们用递归来写,从一开始,首先判断当前数是否被选中过,如果没有那么为了不重复我们给被选过的数打个标记,然后将当前数存入a数组,至此就排好了一个数,在排下一个数时需要调用他本身进行排列,写做fd(w+1)表示调用下一层排列去找第二个数,再进行下一次排列时,要对当前的所有东西进行清零,写f[i]=0;用输入样例来举例子,对1,2,3这三个数排列组合,先写以1打头的,有123,132;由 1 \sim n1∼n 组成的所有不重复的数字序列,每行一个序列。
2023-12-18 20:36:13
656
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅