Cod sursa(job #2764324)

Utilizator justAfailureBodo Bogdan-Mihai justAfailure Data 20 iulie 2021 13:20:03
Problema Jocul Flip Scor 20
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.22 kb
#include <iostream>
#include <fstream>
using namespace std;

ifstream f("flip.in");
ofstream g("flip.out");




int main()
{
   int N,M;
   f>>N>>M;
   int v[300][300];
   for(int i=1;i<=N;i++)
   {
     for(int j=1;j<=M;j++)
     {
       f>>v[i][j];
     }
   }
   int vl[300]={0};
   int nr_linii=0;
   int s_plus;
   int s_minus;
   for(int i=1;i<=N;i++)
   {
     s_plus=0;
     s_minus=0;
     for(int j=1;j<=M;j++)
     {
       s_plus=s_plus+v[i][j];
       s_minus=s_minus-v[i][j];
     }
     if(s_minus>s_plus)
     {
       vl[++nr_linii]=i;
     }
   }
   int vc[300]={0};
   int nr_coloane=0;
   for(int j=1;j<=M;j++)
   {
     s_plus=0;
     s_minus=0;
     for(int i=1;i<=N;i++)
     {
       s_plus=s_plus+v[i][j];
       s_minus=s_minus-v[i][j];
     }
     if(s_minus>s_plus)
     {
       vc[++nr_coloane]=j;
     }
   }
   int k1=1;
   int k2=1;
   int s=0;
   for(int i=1;i<=N;i++)
   {
     for(int j=1;j<=M;j++)
     {
       if(i==vl[k1])
       {
         s=s-v[i][j];
       }
       else if(j==vc[k2])
       {
         s=s-v[i][j];
         k2++;
       }
       else s=s+v[i][j];
     }
     if(vl[k1]==i) k1++;
     k2=1;
   }
   g<<s;
}