Cod sursa(job #1010832)

Utilizator chimistuFMI Stirb Andrei chimistu Data 15 octombrie 2013 19:35:44
Problema Jocul Flip Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.33 kb
#include <fstream>
#include <iostream>
#define maxn 17

using namespace std;

int main(){
    ifstream f("flip.in");
    ofstream g("flip.out");
    int n,m,a[maxn][maxn];
    int sum[maxn],suma=0;
    fill(sum,sum+maxn,0);
    f >> n >> m;
    for (int i=0;i<n;i++)
        for (int j=0;j<m;j++)
            f >> a[i][j];
    for (int i=0;i<n;i++) {
        for(int j=0;j<m;j++)
        {
            sum[i]+=a[i][j];
        }
        int x=sum[i];
        sum[i]=0;
        for (int j=0;j<m;j++)
        {
            a[i][j]=-a[i][j];
            sum[i]+=a[i][j];
        }
        if (sum[i]>x) {}
           // suma+=sum[i];
        else
        {
            for(int j=0;j<m;j++)
                a[i][j]=-a[i][j];
            sum[i]=x;
           // suma+=sum[i];
        }

    }
    fill(sum,sum+maxn,0);
    for (int i=0;i<m;i++)
    //de facut pentru coloane, acelasi lucru ca si pentru linii, mai sus
    {
        for(int j=0;j<n;j++)
            sum[i]+=a[j][i];
        int x=sum[i];
        sum[i]=0;
        for(int j=0;j<n;j++)
        {
            a[j][i]=-a[j][i];
            sum[i]+=a[j][i];
        }
        if(sum[i]>x)
            suma+=sum[i];
        else
        {
            for(int j=0;j<n;j++)
                a[j][i]=-a[j][i];
            sum[i]=x;
            suma+=sum[i];
        }

    }
    g << suma;
    return 0;
}