Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<bits/stdc++.h>
- using namespace std;
- int queen[20],line;
- int column[20],diagonal1[40],diagonal2[40],a,b;
- void Eight_Queen(int _at,int n)
- {
- int i;
- if(_at==n+1 && queen[b]==a)
- {
- printf("%2d ",++line);
- for(i=1; i<=n; i++)
- {
- printf(" %d",queen[i]);
- }
- puts("");
- return ;
- }
- for(i=1; i<=n; i++)
- {
- if(column[i] || diagonal1[i+_at] || diagonal2[n+i-_at])
- continue;
- queen[_at] = i;
- column[i] = diagonal1[i+_at] = diagonal2[n+i-_at] = 1;
- Eight_Queen(_at+1,n);
- column[i] = diagonal1[i+_at] = diagonal2[n+i-_at] = 0;
- }
- }
- int main()
- {
- int test;
- scanf("%d",&test);
- while(test--)
- {
- scanf("%d%d",&a,&b);
- printf("SOLN COLUMN\n");
- printf(" # 1 2 3 4 5 6 7 8\n\n");
- line = 0;
- Eight_Queen(1,8);
- if(test)
- {
- puts("");
- }
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement