acm 第二天:搜索

广度搜索与深度搜索

图的记录:

  • 邻接表
  • 邻接矩阵

BFS
acm 第二天:搜索
acm 第二天:搜索
acm 第二天:搜索
acm 第二天:搜索
acm 第二天:搜索
acm 第二天:搜索

DFS
acm 第二天:搜索
acm 第二天:搜索

char board[10][15];
int k,n;
bool vis[10]={};
int f(int r,int m) {//当前已经搜索到第r行,还应再放m个棋子
	if(m<=0) return 1;
	if(r==n) return 0;
	int res=f(r+1,m);
	for(int i=0; i<n; i++)
		if(!vis[i]&&board[r][i]=='#') {
			vis[i]=true;
			res+=f(r+1,m-1);
			vis[i]=false;
		}
	return res;
}

acm 第二天:搜索