Advertisement
Guest User

Untitled

a guest
Jul 23rd, 2016
158
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.89 KB | None | 0 0
  1.  
  2. #include <iostream>
  3. #include <vector>
  4. #include <algorithm>
  5. #include <map>
  6. #include <stdio.h>
  7. using namespace std;
  8.  
  9. int ym[100001];
  10. int xm[100001];
  11. int xc[100001] = { 0 };
  12. int yc[100001] = { 0 };
  13.  
  14. int main()
  15. {
  16.  
  17.     long long n, m;
  18.     scanf_s("%I64d%I64d", &n, &m);
  19.  
  20.     long long ok = n * n;
  21.  
  22.  
  23.     for (int i = 0; i < n; i++) {
  24.         xm[i] = n;
  25.         ym[i] = n;
  26.     }
  27.  
  28.     for (int i = 0; i < m; i++) {
  29.         int x, y;
  30.  
  31.         scanf_s("%d%d", &x, &y);
  32.         bool dx, dy;
  33.         dx = dy = false;
  34.         if (xc[x - 1] == 0) {
  35.             dx = 1;
  36.             xc[x - 1] = 1;
  37.             ok -= xm[x - 1];
  38.         }
  39.  
  40.         if (yc[y - 1] == 0) {
  41.             dy = 1;
  42.             yc[y - 1] = 1;
  43.             ok -= ym[y - 1];
  44.         }
  45.  
  46.         for (int i = 0; i < n; i++) {
  47.             if (dx) {
  48.                 ym[i]--;
  49.             }
  50.             if (dy) {
  51.                 xm[i]--;
  52.             }
  53.         }
  54.  
  55.         if (dy) {
  56.             ym[y - 1] = 0;
  57.         }
  58.         if (dx) {
  59.             xm[x - 1] = 0;
  60.         }
  61.         if (dx && dy)
  62.             ok++;
  63.  
  64.         printf("%I64d\n", ok);
  65.     }
  66.  
  67.  
  68.     return 0;
  69. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement