输入
1.printf("%s",s) 是从第0列开始的
2.scanf("%c",&map[i][j]) 小心行末换行符
3.scanf("%[^\n]",str) 将一整行串连同空格一起输入
输出
1.字符输出题注意输出空格的情况
2.自带提示语的,复制粘贴
3.要求数字之间空格隔开的,注意行末是否需要留空格
4.“%5d" 数字左边空出4格
BFS
#include <queue>
using namespace std;
queue<int> q;
void bfs(int start)
{
if(符合条件) return;
q.push(start);
while(!q.empty())
{
int x=q.front();
q.pop();
for(){
int nxt=;
if(nxt没有访问过){
q.push(nxt);
标记访问;
操作;
if(符合条件) return;
}
}
}
}
DFS
1.只有函数括号里的参数才会随着return一起撤销,其他需要手动撤销
void dfs( )
{
if(到达终点){
操作;
return;
}
if(越界){return;}
if(剪枝){return;}
for(){
if(扩展状态合法){
操作;
标记;
dfs();
标记撤销;
操作撤销;
}
}
}
其他
1.不要在调用函数的时候写solve(i++),要写solve(i+1)
2.时刻检查某些减法操作会不会导致数组越界