Cod sursa(job #1727432)

Utilizator MihalachiRazvanMihalachi Razvan MihalachiRazvan Data 10 iulie 2016 19:38:13
Problema Jocul Flip Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.37 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("flip.in");
ofstream g("flip.out");
int n,m,a[17][17],l[17],c[17],s,si,sf=0;
int main()
{
    int ver,i,j;
    f>>n>>m;
    si=0;
    for(i=1;i<=n;i++)
        {
            s=0;
            for(j=1;j<=m;j++)
          {f>>a[i][j];
          s=s+a[i][j];}
          l[i]=s;}
  int poz,mini;
  for(i=1;i<=n;i++)
   si=si+l[i];
    ver=1;
  while(ver==1)
  {
  mini=l[1];
  poz=1;
  for(i=2;i<=n;i++)
  if(mini>l[i])
  {   mini=l[i];
      poz=i;}
  l[poz]=l[poz]*(-1);
  for(j=1;j<=m;j++)
    a[poz][j]=a[poz][j]*(-1);
    for(j=1;j<=m;j++)
    {
        s=0;
        for(i=1;i<=n;i++)
            s=s+a[i][j];
            c[j]=s;
    }
    mini=c[1];
    poz=1;
    for(j=2;j<=m;j++)
        if(mini>c[j])
        {poz=j;
         mini=c[j];}
       c[poz]=c[poz]*(-1);
       for(i=1;i<=n;i++)
            a[i][poz]=a[i][poz]*(-1);
         for(i=1;i<=n;i++)
        {
            s=0;
            for(j=1;j<=m;j++)
            s=s+a[i][j];
            l[i]=s;}
        sf=0;
        for(i=1;i<=n;i++)
            sf=sf+l[i];
            if(sf>si)
                si=sf;
              else if(si==sf)
                ver=0;
                else
                ver=0;
                }
        g<<si;
            f.close();
            g.close();

    return 0;
}