Advertisement
Guest User

Untitled

a guest
Feb 8th, 2016
57
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <cstdio>
  2. #include <algorithm>
  3.  
  4. using namespace std;
  5.  
  6. bool v[128][1024];
  7. int nrc[128];
  8.  
  9. int main ()
  10. {
  11.     freopen ("defrag.in", "r", stdin);
  12.     freopen ("defrag.out", "w", stdout);
  13.  
  14.     int var, n, m, c;
  15.     scanf ("%d %d %d %d", &var, &n, &m, &c);
  16.  
  17.     for (int i = 1; i <= c; ++i)
  18.    {
  19.        int x, y;
  20.        scanf ("%d %d", &x, &y);
  21.        v[x][y] = v[x][m + y] = true;
  22.    }
  23.  
  24.    if (var == 1)
  25.    {
  26.        int nr = 0;
  27.        for (int i = 1; i <= n; ++i)
  28.        {
  29.            bool OK = false;
  30.            for (int j = 1; j <= m && !OK; ++j)
  31.                if (v[i][j]) OK = true;
  32.  
  33.            if (!OK) ++nr;
  34.        }
  35.  
  36.        printf ("%d\n", nr);
  37.        return 0;
  38.    }
  39.  
  40.    for (int i = 1; i <= n; ++i)
  41.        for (int j = 1; j <= m; ++j)
  42.            if (v[i][j]) ++nrc[i];
  43.  
  44.    for (int i = 1; i <= n; ++i)
  45.    {
  46.        int nr0 = 0, mi = nrc[i];
  47.        for (int j = 1; j < nrc[i]; ++j)
  48.            if (!v[i][j]) ++nr0;
  49.  
  50.        for (int j = nrc[i]; j <= m + nrc[i]; ++j)
  51.        {
  52.            if (!v[i][j]) ++nr0;
  53.            if (!v[i][j - nrc[i]] && j > nrc[i]) --nr0;
  54.  
  55.             mi = min (mi, nr0);
  56.         }
  57.  
  58.         printf ("%d ", mi);
  59.     }
  60.  
  61.     printf ("\n");
  62.  
  63.     return 0;
  64. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement