icatalin

regine

May 30th, 2018
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.84 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int n, sol[100];
  5.  
  6. void afisare()
  7. {
  8.     int i, j;
  9.     char c;
  10.  
  11.     for (i = 0; i < n; i++)
  12.     {
  13.         for (j = 1; j <= n; j++)
  14.         {
  15.             c = ((sol[i] == j) ? 'D' : '*');
  16.             printf("%c ", c);
  17.         }
  18.         printf("\n");
  19.     }
  20.  
  21.     printf("\n\n");
  22. }
  23.  
  24. void bkt(int k)
  25. {
  26.     int i, j, sp;
  27.  
  28.     for(i = 1; i <= n; i++)
  29.     {
  30.         sol[k] = i;
  31.  
  32.         sp = 1;
  33.         for(j = 0; j < k; j++)
  34.             if((sol[j]==sol[k])||(abs(sol[j]-sol[k])== abs(j-k)))
  35.             {
  36.                 sp = 0;
  37.                 break;
  38.             }
  39.  
  40.         if(sp == 1)
  41.             if(k == n-1)
  42.                 afisare();
  43.             else
  44.                 bkt(k+1);
  45.     }
  46. }
  47.  
  48. int main()
  49. {
  50.     printf("n = ");
  51.     scanf("%d", &n);
  52.  
  53.     bkt(0);
  54.  
  55.     return 0;
  56. }
Add Comment
Please, Sign In to add comment