Advertisement
Utkar5hM

Untitled

Feb 16th, 2021
115
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.92 KB | None | 0 0
  1. int queensAttack(int n, int k, int r_q, int c_q, vector<vector<int>> obstacles) {
  2. int count(0);
  3. for(int i(r_q+1); i<=n;++i){
  4.     bool a(0);
  5.     for(auto x: obstacles){
  6.         if (x[0]==i&&x[1]==c_q){
  7.             a=1;
  8.             break;
  9.         };
  10.     }
  11.     if(a){
  12.         break;
  13.     }
  14.     ++count;
  15. }
  16. for(int i(c_q+1); i<=n;++i){
  17.     bool a(0);
  18.     for(auto x: obstacles){
  19.         if (x[0]==r_q&&x[1]==i){
  20.             a=1;
  21.             break;
  22.         }
  23.     }
  24.     if(a){
  25.         break;
  26.     }    
  27.     ++count;
  28. }
  29. for(int i(r_q-1); i>=1;--i){
  30.     bool a(0);
  31.     for(auto x: obstacles){
  32.         if (x[0]==i&&x[1]==c_q) {
  33.             a=1;
  34.             break;
  35.         }
  36.     }  
  37.     if(a){
  38.         break;
  39.     }
  40.     ++count;
  41. }
  42. for(int i(c_q-1); i>=1;--i){
  43.     bool a(0);
  44.     for(auto x: obstacles){
  45.         if (x[0]==r_q&&x[1]==i) {
  46.             a=1;
  47.             break;
  48.         }
  49.     }
  50.     if(a){
  51.         break;
  52.     }    
  53.     ++count;
  54. }
  55. for(int i(r_q+1), j(c_q+1); n>=i&&n>=j;++i, ++j){
  56.     bool a(0);
  57.     for(auto x: obstacles){
  58.         if (x[0]==i&&x[1]==j) {
  59.             a=1;
  60.             break;
  61.         }
  62.     }  
  63.     if(a){
  64.         break;
  65.     }
  66.     ++count;
  67. }
  68. for(int i(r_q-1), j(c_q-1); 1<=i&&1<=j;--i, --j){
  69.     bool a(0);
  70.     for(auto x: obstacles){
  71.         if (x[0]==i&&x[1]==j){
  72.             a=1;
  73.             break;
  74.         }
  75.     }  
  76.     if(a){
  77.         break;
  78.     }
  79.     ++count;
  80. }
  81. for(int i(r_q+1), j(c_q-1); n>=i&&1<=j;++i, --j){
  82.     bool a(0);
  83.     for(auto x: obstacles){
  84.         if (x[0]==i&&x[1]==j) {
  85.             a=1;
  86.             break;
  87.         }
  88.     }  
  89.     if(a){
  90.         break;
  91.     }
  92.     ++count;
  93. }
  94. for(int i(r_q-1), j(c_q+1); 1<=i&&n>=j;--i, ++j){
  95.     bool a(0);
  96.     for(auto x: obstacles){
  97.         if (x[0]==i&&x[1]==j) {
  98.             a=1;
  99.             break;
  100.         }
  101.     }
  102.     if(a){
  103.         break;
  104.     }    
  105.     ++count;
  106. }
  107. return count;
  108. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement