Cod sursa(job #2124382)

Utilizator eusebiu_2002Eusebiu eusebiu_2002 Data 7 februarie 2018 10:38:39
Problema Buline Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 2.73 kb
#include <iostream>
#include<fstream>
#include<bitset>
using namespace std;
bitset<100000>v;
ifstream f ("betasah.in");
ofstream g ("betasah.out");
int  i,j,m[1003][1003],n,k,d,t,maxim=-1,coto=0,s=0;
int main()
{
f>>n;

f>>d>>k;
    for(t=1;t<=d;t++)
          f>>i>>j,m[i][j]=2;
    for(t=1;t<=k;t++)
         f>>i>>j,m[i][j]=1;

        for(j=0;j<=n+1;j++)
             m[0][j]=5,m[n+1][j]=5;

  for(i=0;i<=n+1;i++)
  {
          m[i][0]=5,m[i][n+1]=5;
  }


    for(i=1;i<=n;i++)
         for(j=i+1;j<=n;j++)
             m[i][j]=5;

for(i=1;i<=n;i++)
    {
         for(j=1;j<=i;j++)
              {
                if(m[i][j]==0 || m[i][j]==7)
                    s++;
                if(m[i][j]==2)
                {


                   s++;
                   if(m[i-1][j]==0 )
             {
                coto++;
                 m[i-1][j]=7;

                  if(m[i-2][j]==0 )
                     coto++,m[i-2][j]=7;

             }

             if(m[i-1][j+1]==0)
             {
                 coto++,m[i-1][j+1]=7;
                 if(m[i-2][j+2]==0)
                     coto++,m[i-2][j+2]=7;
             }

             if(m[i][j+1]==0 )
             {
                   coto++;
                   m[i][j+1]=7;
                    if(m[i][j+2]==0 )
                        coto++,m[i][j+2]=7;
             }
              if(m[i][j-1]==0 )
             {
                   coto++;
                   m[i][j-1]=7;
                    if(m[i][j-2]==0 )
                        coto++,m[i][j-2]=7;
             }
             if(m[i+1][j+1]==0)
             {
                 coto++;
                 m[i+1][j+1]=7;
                 if(m[i+2][j+2]==0)
                     coto++,m[i+2][j+2]=7;
             }
             if(m[i+1][j]==0 )
             {
                   coto++;
                   m[i+1][j]=7;
                   if(m[i+2][j]==0 )
                      coto++,m[i+2][j]=7;
             }
             if(m[i+1][j-1]==0)
             {
                 coto++;
                 m[i+1][j-1]=7;
                 if(m[i+2][j-2]==0)
                    coto++,m[i+2][j-2]=7;
             }
             if(m[i+1][j-1]==0)
             {
                 coto++;
                  m[i+1][j-1]=7;
                 if(m[i+1][j-2]==0)
                   coto++,m[i+1][j-2]=7;
             }
             if(m[i-1][j-1]==0 )
             {
                 coto++;
                 m[i-1][j-1]=7;
                 if(m[i-2][j-2]==0)
                   coto++,m[i-2][j-2]=7;
             }

                }

              }
              if(s>maxim)
                maxim=s;
              s=0;
    }
    g<<maxim<<endl<<coto;
}