Advertisement
add1ctus

Монитор

Mar 2nd, 2015
540
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.20 KB | None | 0 0
  1. #include <iostream>
  2. #include <cstring>
  3.  
  4.  
  5. using namespace std;
  6.  
  7. int main()
  8. {
  9.     int m,n,k,p;
  10.     cin>>m>>n>>k>>p;
  11.  
  12.     int ver[n];
  13.     int hor[m];
  14.  
  15.     memset(ver,0,sizeof(int)*n);
  16.     memset(hor,0,sizeof(int)*m);
  17.  
  18.     for(int i=0;i<p;i++)
  19.     {
  20.         int x,y,t;
  21.         cin>>x>>y>>t;
  22.         x--;
  23.         y--;
  24.         if(t==1)
  25.             hor[x]=-1;
  26.         else
  27.             ver[y]=-1;
  28.     }
  29.  
  30.     if(ver[0]==-1)
  31.         ver[0]=1;
  32.     else
  33.         ver[0]=0;
  34.  
  35.  
  36.     for(int i=1;i<n;i++)
  37.         if(ver[i]==-1)
  38.             ver[i]=ver[i-1]+1;
  39.         else
  40.             ver[i]=ver[i-1];
  41.  
  42.     if(hor[0]==-1)
  43.         hor[0]=1;
  44.     else
  45.         hor[0]=0;
  46.  
  47.     for(int i=1;i<m;i++)
  48.         if(hor[i]==-1)
  49.             hor[i]=hor[i-1]+1;
  50.         else
  51.             hor[i]=hor[i-1];
  52.  
  53.     int najmalku=999999;
  54.  
  55.  
  56.     for(int i=0;i<=m-k;i++)
  57.         for(int j=0;j<=n-k;j++)
  58.         {
  59.             int verlinii=ver[j+k-1];
  60.             if(j!=0)
  61.                 verlinii-=ver[j-1];
  62.             int horlinii=hor[i+k-1];
  63.             if(i!=0)
  64.                 horlinii-=hor[i-1];
  65.             najmalku=min(najmalku,horlinii+verlinii);
  66.         }
  67.  
  68.     cout<<najmalku;
  69.  
  70.     return 0;
  71. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement