Cod sursa(job #800639)

Utilizator grajdeanuadrianITM Grajdeanu Adrian grajdeanuadrian Data 22 octombrie 2012 11:16:15
Problema Jocul Flip Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.42 kb
#include <fstream>
using namespace std;

ifstream f("flip.in");
ofstream g("flip.out");

long long  a[17][17];
int n, m;

void citire();
void scriere();

int linie()
{
    int ok=0, s1, s2;
    for (int i=1; i<=n; i++)
        {
            s1=s2=0;
            for(int j=1; j<=m; j++)  s1+= a[i][j];
            for(int j=1; j<=m; j++)  s2+= a[i][j]*(-1);
            if (s2>s1)
            {
                for (int j=1; j<=m; j++)
                {
                    a[i][j]*=(-1);
                    ok=1;
                }
            }
        }
    if(ok) return 1;
        else return 0;
}
int coloana()
{
    int ok=0, s1, s2;
    for (int j=1; j<=n; j++)
        {
            s1=s2=0;
            for(int i=1; i<=m; i++)  s1+= a[i][j];
            for(int i=1; i<=m; i++)  s2+= a[i][j]*(-1);
            if (s2>s1)
            {
                for (int i=1; i<=m; i++)
                {
                    a[i][j]*=(-1);
                    ok=1;
                }
            }
        }
    if(ok) return 1;
        else return 0;
}

void citire()
{
    int i, j;
    f>>n>>m;
    for (i=1; i<=n; i++)
        for (j=1; j<=m; j++) f>>a[i][j];
}

void afisare()
{
    int s=0, i, j;
    for (i=1; i<=n; i++)
        for (j=1; j<=m; j++) s+=a[i][j];
    g<<s;
}

int main()
{
    int v=1;
    citire();
    while(linie() || coloana()) v=1;
    afisare();
}