Cod sursa(job #2202020)

Utilizator irimia.cosminIrimia Cosmin-Ionut irimia.cosmin Data 6 mai 2018 23:18:34
Problema Jocul Flip Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.26 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 summ(int a[][16],int n,int m)
{
    int i,j,summax,sumt;
    summax=suma(a,n,m);
    for(i=0;i<n;i++)
    {
        for(j=0;j<m;j++)
        {
            comutalinie(a,i,m);
            sumt=suma(a,n,m);
            if(sumt>summax)summax=sumt;
            else comutalinie(a,i,m);
            comutacoloana(a,j,n);
            sumt=suma(a,n,m);
            if(sumt>summax)summax=sumt;
            else comutacoloana(a,i,n);
        }
    }
    return summax;
}

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