在做题的时候发现别人的模板后,再加上自己的理解,形成的更适合自己的模板。(相当于随笔,就是记录一下,不做排版)
记忆方法:
树
BFS: queue --> 马的遍历 *NOTICE: bfs 最短路
DFS: stack/递归 --> 红细胞数
BFS template
feet[] -- 步数 ph[] -- 图/路径 st[] -- bool
typedef pair<int, int> PII;
const int N = 1021;
int feet[N][N], ph[N][N];
bool st[N][N];
queue<PII> qii;
PII pt[4] = {};
while(!qii.empty()) {
int x , y = front(). first / second;
qii.pop();
for(条件遍历) {
if(不满足条件) continue;
执行
qii.push(make_pair(x1,y1));
}
}
DFS template
void Search(int k)
{
for (i=1;i<=算符种数;i++)
if (满足条件)
{
保存结果
if (到目的地) 输出解;
else Search(k+1);
恢复:保存结果之前的状态{回溯一步}
}
}