Exemple #1
0
 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;
         }
     }
 }