Cod sursa(job #2202021)

Utilizator irimia.cosminIrimia Cosmin-Ionut irimia.cosmin Data 6 mai 2018 23:36:21
Problema Jocul Flip Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.53 kb
#include <iostream>
#include <fstream>
using namespace std;
void citire(int &n, int &m,int a[][16])
{
    ifstream in("flip.in");
    in>>n>>m;
    int i,j;
    for(i=0;i<n;i++)
        for(j=0;j<m;j++)
            in>>a[i][j];
    in.close();
}
int suma(int a[][16],int n,int m)
{
    int i,j,sumam;
    sumam=0;
    for(i=0;i<n;i++)
        for(j=0;j<m;j++)
            sumam +=a[i][j];
    return sumam;
}
void comutalinie(int a[][16],int l,int m)
{
    int i;
    for(i=0;i<m;i++)
        a[l][i]=a[l][i]*(-1);
}
void comutacoloana(int a[][16],int c,int n)
{
    int i;
    for(i=0;i<n;i++)
        a[i][c]=a[i][c]*(-1);
}
int sumalinie(int a[][16], int l,int m)
{
    int sumal=0,i;
    for(i=0;i<m;i++)
        sumal=sumal+a[l][i];
    return sumal;
}
int sumacoloana(int a[][16],int c,int n)
{
    int sumac=0,i;
    for(i=0;i<n;i++)
        sumac +=a[i][c];
    return sumac;
}
int summ(int a[][16],int n,int m)
{
    int i,j,summax,suml,sumll,sumcc,sumc;
    for(i=0;i<n;i++)
    {
        sumll=sumalinie(a,i,m);
        comutalinie(a,i,m);
        suml=sumalinie(a,i,m);
        if(sumll>suml)comutalinie(a,i,m);
        for(j=0;j<m;j++)
        {
            sumcc=sumacoloana(a,j,n);
            comutacoloana(a,j,n);
            sumc=sumacoloana(a,j,n);
            if(sumcc>sumc)comutacoloana(a,j,n);
        }
    }
    return suma(a,n,m);
}

int main()
{
    int a[16][16],n,m,sumam;
    citire(n,m,a);
    ofstream out("flip.out");
    out<<summ(a,n,m);
    return 0;
}