private void dfs(int r = 0) { if (r >= 8) { ans++; List <int> arr = new List <int>(); arr.AddRange(EightQueens); PossibleList.Add(arr); return; } for (int i = 0; i < 8; i++) { if (Check(r, i)) { EightQueens[r] = i; dfs(r + 1); EightQueens[r] = 0; } } }
private void sou(int x) { if (x >= 8) { ans++; List <int> arr = new List <int>(); arr.AddRange(EightQueens); PossibleList.Add(arr); return; } for (int i = 0; i < 8; i++) { if (!(b[i] || c[x + i] || d[x - i + 8])) { b[i] = c[x + i] = d[x - i + 8] = true; EightQueens[x] = i; sou(x + 1); b[i] = c[x + i] = d[x - i + 8] = false; } } }