Advertisement
Egonau

Untitled

Oct 18th, 2020
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.63 KB | None | 0 0
  1. #include <iostream>
  2. #include <cmath>
  3. #include <vector>
  4. using namespace std;
  5. int main()
  6. {
  7.     int x, y3, m, n, iter = 0,kol1=0,kol2=0;
  8.     cin >> m>> n;
  9.     cin >> x>>y3;
  10.     x = x - 1;
  11.     y3 = y3 - 1;
  12.     int k1 = 0, k2 = n, m1 = 0, m2 = m;
  13.     vector<vector<int>> a(m, vector<int>(n,0));
  14.     bool nash = false;
  15.     while (x != -2 && y3 != -2) {
  16.         if (iter % 2 == 0) {
  17.                 a[x][y3] = 1;
  18.                 k1 = 0, k2 = m, m1 = 0, m2 = n;
  19.             for (int i = x-1; i >=k1; --i) {
  20.                 if (a[i][y3] == 1&&nash==false) {
  21.                     k1 = i;
  22.                     nash = true;
  23.                     a[i][y3] = 1;
  24.                     i = x;
  25.                 }
  26.                 if (nash == true) {
  27.                     a[i][y3] = 1;
  28.                 }
  29.             }
  30.             nash = false;
  31.             for (int i = x+1; i < k2; ++i) {
  32.                 if (a[i][y3] == 1 && nash == false) {
  33.                     k2 = i;
  34.                     nash = true;
  35.                     a[i][y3] = 1;
  36.                     i = x;
  37.                 }
  38.                 if (nash == true) {
  39.                     a[i][y3] = 1;
  40.                 }
  41.             }
  42.             nash = false;
  43.             for (int i = y3 - 1; i >= m1; --i) {
  44.                 if (a[x][i] == 1 && nash == false) {
  45.                     m1 = i;
  46.                     nash = true;
  47.                     a[x][i] = 1;
  48.                     i = y3;
  49.                 }
  50.                 if (nash == true) {
  51.                     a[x][i] = 1;
  52.                 }
  53.             }
  54.             nash = false;
  55.             for (int i = y3 + 1; i < m2; ++i) {
  56.                 if (a[x][i] == 1 && nash == false) {
  57.                     m2 = i;
  58.                     nash = true;
  59.                     a[x][i] = 1;
  60.                     i = y3;
  61.                 }
  62.                 if (nash == true) {
  63.                     a[x][i] = 1;
  64.                 }
  65.             }
  66.             nash = false;
  67.            
  68.            
  69.         }
  70.         else {
  71.             k1 = 0, k2 = m, m1 = 0, m2 = n;
  72.                 a[x][y3] = -1;
  73.                 for (int i = x - 1; i >= k1; --i) {
  74.                     if (a[i][y3] == -1 && nash == false) {
  75.                         k1 = i;
  76.                         nash = true;
  77.                         a[i][y3] = -1;
  78.                         i = x;
  79.                     }
  80.                     if (nash == true) {
  81.                         a[i][y3] = -1;
  82.                     }
  83.                 }
  84.                 nash = false;
  85.                 for (int i = x + 1; i < k2; ++i) {
  86.                     if (a[i][y3] == -1 && nash == false) {
  87.                         k2 = i;
  88.                         nash = true;
  89.                         a[i][y3] = -1;
  90.                         i = x;
  91.                     }
  92.                     if (nash == true) {
  93.                         a[i][y3] = -1;
  94.                     }
  95.                 }
  96.                 nash = false;
  97.                 for (int i = y3 - 1; i >= m1; --i) {
  98.                     if (a[x][i] == -1 && nash == false) {
  99.                         m1 = i;
  100.                         nash = true;
  101.                         a[x][i] = -1;
  102.                         i = y3;
  103.                     }
  104.                     if (nash == true) {
  105.                         a[x][i] = -1;
  106.                     }
  107.                 }
  108.                 nash = false;
  109.                 for (int i = y3 + 1; i < m2; ++i) {
  110.                     if (a[x][i] == -1 && nash == false) {
  111.                         m2 = i;
  112.                         nash = true;
  113.                         a[x][i] = -1;
  114.                         i = y3;
  115.                     }
  116.                     if (nash == true) {
  117.                         a[x][i] = -1;
  118.                     }
  119.                 }
  120.                 nash = false;
  121.                
  122.         }
  123.         for (int i = 0; i < n; i++) {
  124.             for (int j = 0; j < m; ++j) {
  125.                 if (a[j][i] == -1)
  126.                     kol2 += 1;
  127.                 if (a[j][i] == 1)
  128.                     kol1 += 1;
  129.             }
  130.         }
  131.         iter++;
  132.         cout << kol1 - kol2<<"\n";
  133.         cin >> x >> y3;
  134.         kol1 = 0;
  135.         kol2 = 0;
  136.         x = x - 1;
  137.         y3 = y3 - 1;
  138.        
  139.     }
  140.    
  141.  
  142. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement