Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- long array1[2005][2005];
- struct node{
- int x11, y11;
- };
- int main()
- {
- ios_base::sync_with_stdio(false);
- cin.tie(NULL);
- int n;
- cin >> n;
- long long cnt = 0;
- for(int i = 1;i <= n;i++){
- int x, y;
- cin >> x >> y;
- x += 1002;
- y += 1002;
- array1[x][y]++;
- if(array1[x][y] == 1)++cnt;
- if(array1[x][y] == 5){
- queue<node>q;
- q.push(node{x, y});
- while(!q.empty()){
- node temp = q.front();
- int x11 = temp.x11;
- int y11 = temp.y11;
- //cout << x11 << " " << y11 << "\n";
- q.pop();
- --cnt;
- array1[x11][y11] = 0;
- array1[x11 - 1][y11]++;
- array1[x11 + 1][y11]++;
- array1[x11][y11 - 1]++;
- array1[x11][y11 + 1]++;
- //cout << array1[x11 - 1][y11] << " " << array1[x11 + 1][y11] << " " << array1[x11][y11 + 1] << " " << array1[x11][y11 - 1] << "\n";
- if(array1[x11 - 1][y11] == 1)++cnt;
- if(array1[x11 + 1][y11] == 1)++cnt;
- if(array1[x11][y11 - 1] == 1)++cnt;
- if(array1[x11][y11 + 1] == 1)++cnt;
- if(array1[x11 - 1][y11] == 5)
- q.push(node{x11 - 1, y11});
- if(array1[x11 + 1][y11] == 5)
- q.push(node{x11 + 1, y11});
- if(array1[x11][y11 - 1] == 5)
- q.push(node{x11, y11 - 1});
- if(array1[x11][y11 + 1] == 5)
- q.push(node{x11, y11 + 1});
- }
- }
- cout << cnt << "\n";
- }
- }
Add Comment
Please, Sign In to add comment