搜索
SinclairWang
A very self-motivated person, a very modest man,and also a man does not fear endures hardship.
展开
-
Leetcode岛屿的最大面积(DFS)
题目:695. 岛屿的最大面积参考:岛屿的最大面积(简单的递归、图解)int dx[4]={-1,1,0,0},dy[4]={0,0,-1,1};class Solution {public: int dfs(vector<vector<int>>& grid,int i,int j){ if(i<0||i>=grid.s...原创 2020-03-15 23:14:11 · 152 阅读 · 0 评论 -
PTA拯救007 (BFS)
在老电影“007之生死关头”(Live and Let Die)中有一个情节,007被毒贩抓到一个鳄鱼池中心的小岛上,他用了一种极为大胆的方法逃脱 —— 直接踩着池子里一系列鳄鱼的大脑袋跳上岸去!(据说当年替身演员被最后一条鳄鱼咬住了脚,幸好穿的是特别加厚的靴子才逃过一劫。)设鳄鱼池是长宽为100米的方形,中心坐标为 (0, 0),且东北角坐标为 (50, 50)。池心岛是以 (0, 0) 为圆...原创 2020-02-03 11:36:12 · 916 阅读 · 0 评论 -
PTA功夫传人 (BFS)
一门武功能否传承久远并被发扬光大,是要看缘分的。一般来说,师傅传授给徒弟的武功总要打个折扣,于是越往后传,弟子们的功夫就越弱…… 直到某一支的某一代突然出现一个天分特别高的弟子(或者是吃到了灵丹、挖到了特别的秘笈),会将功夫的威力一下子放大N倍 —— 我们称这种弟子为“得道者”。这里我们来考察某一位祖师爷门下的徒子徒孙家谱:假设家谱中的每个人只有1位师傅(除了祖师爷没有师傅);每位师傅可以带很多...原创 2020-01-27 13:48:43 · 428 阅读 · 0 评论 -
PTA红色警报(并查集/BFS求连通分量)
战争中保持各个城市间的连通性非常重要。本题要求你编写一个报警程序,当失去一个城市导致国家被分裂为多个无法连通的区域时,就发出红色警报。注意:若该国本来就不完全连通,是分裂的k个区域,而失去一个城市并不改变其他城市之间的连通性,则不要发出警报。输入格式:输入在第一行给出两个整数N(0 < N ≤ 500)和M(≤ 5000),分别为城市个数(于是默认城市从0到N-1编号)和连接两城市的通路...原创 2020-01-27 11:43:00 · 477 阅读 · 0 评论 -
PTA列出连通集(DFS+BFS)
给定一个有N个顶点和E条边的无向图,请用DFS和BFS分别列出其所有的连通集。假设顶点从0到N−1编号。进行搜索时,假设我们总是从编号最小的顶点出发,按编号递增的顺序访问邻接点。输入格式:输入第1行给出2个整数N(0<N≤10)和E,分别是图的顶点数和边数。随后E行,每行给出一条边的两个端点。每行中的数字之间用1空格分隔。输出格式:按照"{ v1 v2 … vk }...原创 2020-01-20 21:31:37 · 862 阅读 · 0 评论 -
PTA小字辈(BFS)
本题给定一个庞大家族的家谱,要请你给出最小一辈的名单。输入格式:输入在第一行给出家族人口总数 N(不超过 100 000 的正整数) —— 简单起见,我们把家族成员从 1 到 N 编号。随后第二行给出 N 个编号,其中第 i 个编号对应第 i 位成员的父/母。家谱中辈分最高的老祖宗对应的父/母编号为 -1。一行中的数字间以空格分隔。输出格式:首先输出最小的辈分(老祖宗的辈分为 1,以下逐级...原创 2020-01-19 21:52:50 · 278 阅读 · 0 评论 -
PTA列出叶结点(BFS)
对于给定的二叉树,本题要求你按从上到下、从左到右的顺序输出其所有叶节点。输入格式:首先第一行给出一个正整数 N(≤10),为树中结点总数。树中的结点从 0 到 N−1 编号。随后 N 行,每行给出一个对应结点左右孩子的编号。如果某个孩子不存在,则在对应位置给出 “-”。编号间以 1 个空格分隔。输出格式:在一行中按规定顺序输出叶节点的编号。编号间以 1 个空格分隔,行首尾不得有多余空格。...原创 2020-01-19 18:11:15 · 1637 阅读 · 0 评论 -
PTA整数分解为若干项之和
Problem将一个正整数N分解成几个正整数相加,可以有多种分解方法,例如7=6+1,7=5+2,7=5+1+1,…。编程求出正整数N的所有整数分解式子。输入格式:每个输入包含一个测试用例,即正整数N (0<N≤30)。输出格式:按递增顺序输出N的所有整数分解式子。每个式子由小到大相加,式子间用分号隔开,且每输出4个式子后换行。输入样例:7输出样例:7=1+1+1+1...原创 2020-01-04 10:34:48 · 1111 阅读 · 0 评论 -
回溯法求解幂集
回溯–使用解向量使用一个大小为n的数组x,来标记解向量,在每次迭代过程重要要么选择当前值,要么不选择#include<bits/stdc++.h>using namespace std;void print(int a[], int x[], int n){ cout << "{"; for(int i=0;i<n;i++){ if(x[i]) pr...原创 2019-11-29 21:44:49 · 811 阅读 · 0 评论 -
回溯算法求解数独问题(C++ 递归/非递归)
如何使用求解上述数独?递归实现#include<bits/stdc++.h>using namespace std;int sudoku[9][9];int dx[9]= {-1,-1,-1,0,0,0,1,1,1},dy[9]={-1,0,1,-1,0,1,-1,0,1}; void print(){ for(int i=0;i<9;i++){ for...原创 2019-11-29 20:30:53 · 3104 阅读 · 2 评论 -
DFS入门学习
计蒜客A1601全排列找的是全排列中,排列结果互不相同的个数#include <cstdio>#include <cstdlib>#include <cstring>#include <iostream>#include <algorithm>using namespace std;const int N=1e3;cha...转载 2019-05-22 00:34:09 · 566 阅读 · 1 评论