Cod sursa(job #2361640)

Utilizator Ilie_MityIlie Dumitru Ilie_Mity Data 2 martie 2019 17:35:49
Problema Jocul Flip Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.84 kb
#include <cstdio> //Ilie Dumitru

using namespace std;

int main()
{
    int n,m,mat[16][16],s[16],i,j,stot,k,minim,mat2[16][16],stot2;
    FILE *f,*g;
    f=fopen("flip.in", "r");
    fscanf(f,"%i",&n);
    fscanf(f,"%i",&m);
    for(i=0;i<n;i++)
    {
        s[i]=0;
        for(j=0;j<m;j++)
        {
            fscanf(f, "%i", &mat[i][j]);
            mat2[i][j]=mat[i][j];
            s[i]+=mat[i][j];
        }
    }
    fclose(f);
    minim=s[0];
    k=0;
    for(i=1;i<n;i++)
        if(s[i]<minim)
        {
            minim=s[i];
            k=i;
        }
    for(j=0;j<m;j++)
        mat[k][j]*=-1;
    for(j=0;j<m;j++)
    {
        s[j]=0;
        for(i=0;i<n;i++)
            s[j]+=mat[i][j];
    }
    minim=s[0];
    k=0;
    for(i=1;i<m;i++)
        if(s[i]<minim)
        {
            minim=s[i];
            k=i;
        }
    for(j=0;j<n;j++)
        mat[j][k]*=-1;
    stot=0;
    for(i=0;i<n;i++)
        for(j=0;j<m;j++)
            stot+=mat[i][j];



    for(j=0;j<m;j++)
    {
        s[j]=0;
        for(i=0;i<n;i++)
            s[j]+=mat2[i][j];
    }
    minim=s[0];
    k=0;
    for(i=1;i<m;i++)
        if(s[i]<minim)
        {
            minim=s[i];
            k=i;
        }
    for(i=0;i<n;i++)
        mat2[i][k]*=-1;
    for(i=0;i<n;i++)
    {
        s[i]=0;
        for(j=0;j<m;j++)
            s[i]+=mat2[i][j];
    }
    minim=s[0];
    k=0;
    for(i=1;i<n;i++)
        if(s[i]<minim)
        {
            minim=s[i];
            k=i;
        }
    for(j=0;j<m;j++)
        mat2[k][j]*=-1;
    stot2=0;
    for(i=0;i<n;i++)
        for(j=0;j<m;j++)
            stot2+=mat2[i][j];
    g=fopen("flip.out", "w");
    if(stot>stot2)
        fprintf(g, "%i", stot);
    else
        fprintf(g, "%i", stot2);
    fclose(g);
    return 0;
}