简单dfs---n皇后
DFS----n皇后问题
方法很多:dfs其中一个
void dfs(int u)
{
if(u == n)
{
for(int i = 0; i < n;i ++)puts(g[i]);
puts("");
return;
}
for(int i = 0; i < n; i++)
{
if(!gn[i] && !mg[i + u] &&!umg[i + n - u])
{
g[u][i] = 'Q';
gn[i] = mg[i + u] = umg[i + n - u] = !gn[i];
dfs(u + 1);
gn[i] = mg[i + u] = umg[i + n - u] = !gn[i];
g[u][i] = '.';
}
}
}
浙公网安备 33010602011771号