Advertisement
vlatkovski

Barok (nedovrseno) {err: segfault}

Oct 13th, 2017
325
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.96 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. struct k {
  5.     int r, c;
  6. };
  7.  
  8. int main() {
  9.     int l, w, n, bn, cnt = 0;
  10.     cin >> l >> w >> n >> bn;
  11.     vector<k> bk;
  12.     vector<set<int>> done;
  13.     for (int i = 0; i < bn; ++i) {
  14.         int r, c;
  15.         cin >> r >> c;
  16.         r -= 1;
  17.         c -= 1;
  18.         bk.push_back({r, c});
  19.         done[r].insert(c);
  20.     }
  21.     int op[4][2] = {{0, 1}, {0, -1}, {1, 0}, {-1, 0}};
  22.     while (cnt < n) {
  23.         for (auto it = bk.begin(); it != bk.end(); ++it) {
  24.             k b = *it;
  25.             bk.erase(it);
  26.             for (int j = 0; j < 4; ++j) {
  27.                 int r = b.r + op[j][0];
  28.                 int c = b.c + op[j][1];
  29.                 if (!(r == l || r < 0 || c == w || c < 0) && done[r].find(c) == done[r].end()) {
  30.                     cnt++;
  31.                     bk.push_back({b.r, b.c});
  32.                     done[r].insert(c);
  33.                 }
  34.             }
  35.         }
  36.     }
  37.     cout << cnt;
  38. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement