Guest User

Untitled

a guest
May 27th, 2017
190
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.60 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2.  
  3. using namespace std;
  4. long array1[2005][2005];
  5. struct node{
  6.     int x11, y11;
  7. };
  8. int main()
  9. {
  10.     ios_base::sync_with_stdio(false);
  11.     cin.tie(NULL);
  12.     int n;
  13.     cin >> n;
  14.     long long cnt = 0;
  15.     for(int i = 1;i <= n;i++){
  16.         int x, y;
  17.         cin >> x >> y;
  18.         x += 1002;
  19.         y += 1002;
  20.         array1[x][y]++;
  21.         if(array1[x][y] == 1)++cnt;
  22.         if(array1[x][y] == 5){
  23.         queue<node>q;
  24.         q.push(node{x, y});
  25.         while(!q.empty()){
  26.         node temp = q.front();
  27.         int x11 = temp.x11;
  28.         int y11 = temp.y11;
  29.         //cout << x11 << " " << y11 << "\n";
  30.         q.pop();
  31.             --cnt;
  32.             array1[x11][y11] = 0;
  33.             array1[x11 - 1][y11]++;
  34.             array1[x11 + 1][y11]++;
  35.             array1[x11][y11 - 1]++;
  36.             array1[x11][y11 + 1]++;
  37.             //cout << array1[x11 - 1][y11] << " " << array1[x11 + 1][y11] << " " << array1[x11][y11 + 1] << " " << array1[x11][y11 - 1] << "\n";
  38.             if(array1[x11 - 1][y11] == 1)++cnt;
  39.             if(array1[x11 + 1][y11] == 1)++cnt;
  40.             if(array1[x11][y11 - 1] == 1)++cnt;
  41.             if(array1[x11][y11 + 1] == 1)++cnt;
  42.  
  43.             if(array1[x11 - 1][y11] == 5)
  44.                 q.push(node{x11 - 1, y11});
  45.             if(array1[x11 + 1][y11] == 5)
  46.                 q.push(node{x11 + 1, y11});
  47.             if(array1[x11][y11 - 1] == 5)
  48.                 q.push(node{x11, y11 - 1});
  49.             if(array1[x11][y11 + 1] == 5)
  50.                 q.push(node{x11, y11 + 1});
  51.         }
  52.     }
  53.         cout << cnt << "\n";
  54.     }
  55. }
Add Comment
Please, Sign In to add comment