Advertisement
Patrickmeme

Tetris

Jan 22nd, 2023
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.24 KB | None | 0 0
  1. #include <fstream>
  2.  
  3. using namespace std;
  4. ifstream cin("tetris1.in");
  5. ofstream cout("tetris1.out");
  6. int v[1000][1000];
  7. int main()
  8. {
  9.     int n,m,l,col,ccol,clin,stg,eg,lin,cnt,max1,i,mis,pl;
  10.     cin>>n>>m;
  11.     eg=1;
  12.     mis=1;
  13.     pl=n*m;
  14.     while(cin>>l>>col && eg==1 && pl>0){
  15.         mis++;
  16.         col--;
  17.         lin=0;
  18.         stg=0;
  19.         while(lin<n && stg==0){
  20.             lin++;
  21.             ccol=col;
  22.             while(ccol<=col+l-1 && v[lin][ccol]==0)
  23.                 ccol++;
  24.             if(ccol<=col+l-1)
  25.                 stg=1;
  26.         }
  27.         lin--;
  28.         if((lin-l+1<0)||(col+l-1>m-1))
  29.             eg=0;
  30.         else{
  31.             pl-=l*l;
  32.             for(clin=lin;clin>=lin-l+1;clin--){
  33.                 for(ccol=col;ccol<=col+l-1;ccol++)
  34.                     v[clin][ccol]=1;
  35.             }
  36.         }
  37.  
  38.     }
  39.     col=n;
  40.     lin=0;
  41.     while(col==n){
  42.         col=0;
  43.         while(col<n && v[lin][col]==0)
  44.             col++;
  45.         lin++;
  46.     }
  47.     cout<<n-(lin-1);
  48.     cnt=0;
  49.     max1=0;
  50.     for(i=0;i<m;i++){
  51.         if(v[lin][i]==1)
  52.             cnt++;
  53.         else{
  54.             if(cnt>max1)
  55.                 max1=cnt;
  56.             cnt=0;
  57.         }
  58.     }
  59.     cout<<endl<<max1;
  60.     return 0;
  61. }
  62.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement