dfs
诠释你的Mr贾
这个作者很懒,什么都没留下…
展开
-
剑指offer 12:矩阵中的路径 python dfs 解题
题目链接 class Solution: def exist(self, board: List[List[str]], word: str) -> bool: M = len(board) N = len(board[0]) vis = [([0]*N) for i in range(M)] ll_word = len(word) okk = 0 //是否找到 dir = [[0, 1],原创 2022-01-21 20:05:11 · 462 阅读 · 0 评论 -
2018南京大学计算机夏令营机试
题目1 1. Count number of binary strings without consecutive 1’s Given a positive integer n(3≤n≤90), count all possible distinct binary strings of length n such that there are no consecutive 1's . Input: 2 Output: 3 // The 3 strings are 00, 01, 10原创 2021-07-18 18:36:44 · 252 阅读 · 0 评论 -
算法笔记【问题 C: 合唱队形】
题目链接 #include<iostream> using namespace std; int N; const int MAXN=10010; int num[MAXN]; int decc[MAXN]; int incc[MAXN]; int main() { while(scanf("%d",&N),N) { for(int i=1;i<=N;i++) scanf("%d",&num[i]); for(int i=1;i<=N;i原创 2021-07-16 08:52:05 · 115 阅读 · 0 评论 -
算法笔记【问题 B: 拦截导弹】
问题链接 #include<iostream> using namespace std; #include<cstring> const int MAXN=130; int k; int num[MAXN]; int dp[MAXN]; int main() { while(scanf("%d",&k),k) { memset(dp,0,sizeof(dp)); for(int i=1;i<=k;i++) { scanf("%d",&num原创 2021-07-15 20:35:31 · 108 阅读 · 0 评论 -
算法笔记【问题 A: 第二题】
问题链接 1.dfs解法 #include<iostream> #include<cmath> #include<string> using namespace std; const int MAXN=1005; string str; int num[MAXN]; int sum; int minn=sum; int maxnn; int sizee; int ok=1; void dfs(int now,int ss) { if(ok) retu原创 2021-07-15 20:07:19 · 76 阅读 · 0 评论 -
Leetcode 802 找到最终安全的状态 拓扑排序/dfs
题目链接及官方题解 class Solution { public: vector<int> eventualSafeNodes(vector<vector<int>>& graph) { int n=graph.size(); vector<vector<int>> rgaph(n,vector<int>()); int indeg[10005];原创 2021-04-12 20:07:06 · 84 阅读 · 0 评论 -
CCF-CSP-201803-4 棋局评估 dfs
原题链接 #include<iostream> using namespace std; #include<cstring> #define INF 1e7 int g[3][3]; int eval() //如果有一方赢了,返回得分,若游戏尚未结束 返回INF { int space=0; for(int i=0;i<3;i++) //计算空格数量 { for(int j=0;j<3;j++) { if(g[i][j]==0)原创 2021-03-18 18:03:11 · 86 阅读 · 0 评论 -
通信网络 DFS
通信网络 DFS 时间复杂度O(N*M) #include<iostream> using namespace std; #include<cstring> int n,m; int isCon[1005][1005]; int h[1005]; int e[10005]; int ne[10005]; int idx; int vis[1005]; int ans; void add(int u,int v) { e[idx]=v; ne[idx]=h[u]; h[u原创 2021-02-21 22:35:11 · 276 阅读 · 0 评论 -
网络延时 DFS BFS DP
网络延时 DFS BFS DP DP 思路: dfs 作用:返回以该点为根,到叶子节点的最大长度加1 即加上该顶点上面一条边 , 由递推公式:dfs(i)=max{dfs(j)}+1 dfs(叶子节点)=1 #include<iostream> using namespace std; #include<cstring> int idx; int e[20005]; int h[20005]; int ne[20005]; int ans; int n,m; void ad原创 2021-02-21 21:19:46 · 221 阅读 · 0 评论 -
关押罪犯 二分 二分图 dfs
关押罪犯 二分 二分图 dfs 题解 #include<iostream> #include<algorithm> #include<cstring> #define INF 0x1f1f1f1f using namespace std; #include<vector> int n,m; int cot[20005]; vector<pair<int,int>> p[20005]; bool dfs(int x,int co原创 2021-02-08 13:04:45 · 72 阅读 · 0 评论 -
dfs伪代码
dfs 伪代码 dfs(...) //含义:(!!)准备 对当面步 做决定 { if(ok==1) return; if(到终点) { ok=1; ... return; } ... do //有时 当前步只有一个决定 { (1)对当前步 做第一个决定; 进行数据处理 !! for(int i=1;i<=...;i++) { dfs(next); }原创 2021-02-02 17:57:33 · 1160 阅读 · 0 评论 -
数独 dfs
数独 dfs #include<iostream> using namespace std; #include<string> int row[10][10]; //记录某行 数k是否被使用 int col[10][10]; //记录某列 数k是否被使用 int sq[10][10]; //记录某格 数k是否被使用 1-9 char gg[15][15]; bool ok; void dfs(int i,int j) { if(ok==1) //找到原创 2021-02-02 17:41:02 · 71 阅读 · 0 评论