Cod sursa(job #2190807)

Utilizator dzNaLxDzen Alex dzNaLx Data 31 martie 2018 19:14:12
Problema Jocul Flip Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.07 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("flip.in");
ofstream g("flip.out");
void citire(int a[][16],int &n,int &m)
{
    f>>n>>m;
    for(int i=1;i<=n;i++)
        for(int j=1;j<=m;j++)
            f>>a[i][j];
}
int sumaC(int a[][16],int n,int c)
{
    int s=0;
    for(int i=1;i<=n;i++)
        s+=a[i][c];
    return s;
}
int sumaL(int a[][16],int m,int l)
{
    int s=0;
    for(int i=1;i<=m;i++)
        s+=a[l][i];
    return s;
}
void comutatorC(int a[][16],int n,int c)
{
    for(int i=1;i<=n;i++)
        a[i][c]=-1*a[i][c];
}
void comutatorL(int a[][16],int m,int l)
{
    for(int i=1;i<=m;i++)
        a[l][i]=-1*a[l][i];
}
int main()
{
    int a[16][16],n,m;
    citire(a,n,m);
    for(int i=1;i<=m;i++)
        if(sumaC(a,n,i)<0)
            comutatorC(a,n,i);
    for(int i=1;i<=n;i++)
        if(sumaL(a,m,i)<0)
            comutatorL(a,m,i);
    int s=0;
    for(int i=1;i<=n;i++)
        for(int j=1;j<=m;j++)
            s+=a[i][j];
    g<<s;
    f.close();
    g.close();
    return 0;
}