Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- int n, sol[100];
- void afisare()
- {
- int i, j;
- char c;
- for (i = 0; i < n; i++)
- {
- for (j = 1; j <= n; j++)
- {
- c = ((sol[i] == j) ? 'D' : '*');
- printf("%c ", c);
- }
- printf("\n");
- }
- printf("\n\n");
- }
- void bkt(int k)
- {
- int i, j, sp;
- for(i = 1; i <= n; i++)
- {
- sol[k] = i;
- sp = 1;
- for(j = 0; j < k; j++)
- if((sol[j]==sol[k])||(abs(sol[j]-sol[k])== abs(j-k)))
- {
- sp = 0;
- break;
- }
- if(sp == 1)
- if(k == n-1)
- afisare();
- else
- bkt(k+1);
- }
- }
- int main()
- {
- printf("n = ");
- scanf("%d", &n);
- bkt(0);
- return 0;
- }
Add Comment
Please, Sign In to add comment