- 博客(6)
- 资源 (4)
- 收藏
- 关注
原创 2021-08-31-有向图的拓扑序列
题目:给定一个n个点m条边的有向图,点的编号是1到n,图中可能存在重边和自环。请输出任意一个该有向图的拓扑序列,如果拓扑序列不存在,则输出−1。若一个由图中所有点构成的序列A 满足:对于图中的每条边 (x,y),x在A中都出现在y之前,则称A是该图的一个拓扑序列。关键点:使用BFS。记录有向图各点的入度,所有入度为0的点入队,出队时所有邻接点入度 -1。代码:#include<iostream>#include<cstring...
2021-08-31 20:44:58
123
原创 2021-08-30-八数码
题目:在一个3×3的网格中,1∼8 这8个数字和一个x恰好不重不漏地分布在这 3×3的网格中。例如:1 2 3x 4 67 5 8在游戏过程中,可以把x与其上、下、左、右四个方向之一的数字交换(如果存在)。我们的目的是通过交换,使得网格变为如下排列(称为正确排列):1 2 34 5 67 8 x求最少交换次数。关键点:将网格转换成字符串。处理字符串即可:原(r , c)与字符串位置关系:r= pos/3,c= pos%3;移动 x 同...
2021-08-30 11:31:58
438
原创 2021-08-29-走迷宫
题目:给定一个n×m的二维整数数组,用来表示一个迷宫,数组中只包含0或1,其中0表示可以走的路,1表示不可通过的墙壁。求:从 (1,1)走到 (n,m)最少移动的次数。关键点:使用BFS,判定入队的条件。技巧:用一个循环来遍历上下左右。代码:#include<iostream>#include<algorithm>using namespace std;const int N = 110;int map[N][N],tt,h...
2021-08-29 10:04:24
66
原创 2021-08-28-n皇后问题
题目:n−皇后问题是指将 n 个皇后放在 n×n 的国际象棋棋盘上,使得皇后不能相互攻击到,即任意两个皇后都不能处于同一行、同一列或同一斜线上。关键点:(1)使用DFS。(2)同一对角线的判定:u - i + n;i + u。笔记:代码:#include<iostream>using namespace std;const int N = 10;int n;char q[N][N];bool col[N],dg[N],indg[N];void df
2021-08-28 10:11:32
110
原创 20210827-全排列
题目:给出一个整数 n 输出 1 ~ n 的全排列。关键点:进行DFS。注意:顺序、恢复现场、剪枝。代码:#include<iostream>#include<algorithm>using namespace std;const int N = 10;int res[N],st[N],n;void dfs(int h){ if(h == n){ for(int i = 0;i < n;i++) cout <&l
2021-08-27 09:47:38
55
原创 20210826-字符串哈希
题目给定一个长度为n 的字符串,再给定m个询问,每个询问包含四个整数l1,r1,l2,r2,请你判断[l1,r1] 和 [l2,r2]这两个区间所包含的字符串子串是否完全相同。字符串中只包含大小写英文字母和数字。关键点:(1)使用字符串前缀哈希法:将str串“ABCD”处理成 “1*P^3+2*P^2+3*P^1+4*P^0”。(2)判断 [l1,r1] 和 [l2,r2]是否相同时,只需要比较其哈希值是否相等(只需完整计算一次str)。代码:#include ...
2021-08-26 10:24:18
56
西电本科课程设计-差分放大器
2018-04-22
K2P路由IPV6设置
2018-04-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人