Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- int k,mx=0;bool col[8]={0},rdia[20]={0},ldia[20]={0};
- int vec1[8][8];
- void queen (int r=0 ,int sum=0)
- {
- if(r==8)
- {
- if(sum>mx)
- mx=sum;
- return;
- }
- for(int i = 0 ; i < 8 ;i++)
- {
- if(col[i]||rdia[8+i-r]||ldia[i+r])continue;
- sum+=vec1[r][i];
- col[i]=rdia[8+i-r]=ldia[i+r]=1;
- queen(r+1,sum);
- sum-=vec1[r][i];
- col[i]=rdia[8+i-r]=ldia[i+r]=0;
- }
- }
- int main()
- {
- cin >> k ;
- for(int i = 0 ; i < k ; i++)
- {
- mx=0;
- for(int x = 0 ; x < 8 ;x++)
- {
- for(int b = 0 ; b < 8 ;b++)
- {
- cin >> vec1[x][b];
- }
- }
- queen();
- stringstream ss;
- ss<<mx;
- int len = 5-ss.str().length();
- for(int i = 0 ; i < len;i++)
- cout <<" ";
- cout << mx <<endl;
- }
- return 0;
- }
Add Comment
Please, Sign In to add comment