Guest User

Untitled

a guest
Mar 20th, 2018
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.94 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. int k,mx=0;bool col[8]={0},rdia[20]={0},ldia[20]={0};
  4. int vec1[8][8];
  5. void queen (int r=0 ,int sum=0)
  6. {
  7. if(r==8)
  8. {
  9. if(sum>mx)
  10. mx=sum;
  11.  
  12. return;
  13. }
  14.  
  15. for(int i = 0 ; i < 8 ;i++)
  16. {
  17. if(col[i]||rdia[8+i-r]||ldia[i+r])continue;
  18.  
  19. sum+=vec1[r][i];
  20. col[i]=rdia[8+i-r]=ldia[i+r]=1;
  21. queen(r+1,sum);
  22. sum-=vec1[r][i];
  23. col[i]=rdia[8+i-r]=ldia[i+r]=0;
  24. }
  25. }
  26.  
  27. int main()
  28. {
  29.  
  30.  
  31. cin >> k ;
  32. for(int i = 0 ; i < k ; i++)
  33. {
  34. mx=0;
  35. for(int x = 0 ; x < 8 ;x++)
  36. {
  37. for(int b = 0 ; b < 8 ;b++)
  38. {
  39. cin >> vec1[x][b];
  40. }
  41. }
  42.  
  43.  
  44. queen();
  45. stringstream ss;
  46. ss<<mx;
  47.  
  48. int len = 5-ss.str().length();
  49.  
  50. for(int i = 0 ; i < len;i++)
  51. cout <<" ";
  52. cout << mx <<endl;
  53.  
  54. }
  55.  
  56.  
  57.  
  58. return 0;
  59. }
Add Comment
Please, Sign In to add comment