Cod sursa(job #711346)

Utilizator venom4u31Manea Constantin venom4u31 Data 11 martie 2012 22:54:20
Problema Jocul Flip Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.13 kb
#include <fstream>
#include <iostream>

using namespace std;

void flipcol(int a[][17], int j, int m)
{
    int i;
    for(i=1;i<=m;i++)
        a[i][j]*=-1;
}

void fliplin(int a[][17], int i, int n)
{
    int j;
    for(j=1;j<=n;j++)
        a[i][j]*=-1;
}

int sumcol(int a[][17], int j, int m)
{
    int i, s=0;
    for(i=1;i<=m;i++)
        s+=a[i][j];
    return s;
}

int sumlin(int a[][17], int i, int n)
{
    int j, s=0;
    for(j=1;j<=n;j++)
        s+=a[i][j];
    return s;
}

int main()
{
    ifstream f("flip.in");
    ofstream g("flip.out");
    int m, n, i, j, a[17][17], c=1;
    f>>m>>n;
    for(i=1;i<=m;i++)
        for(j=1;j<=n;j++)
            f>>a[i][j];
    while(c)
    {
        c=0;
        for(i=1;i<=m;i++)
            if(sumlin(a, i, n)<0)
            {
                fliplin(a, i, n);
                c++;
            }
        for(j=1;j<=n;j++)
            if(sumcol(a, j, n)<0)
            {
                flipcol(a, j, m);
                c++;
            }
    }
    c=0;
    for(i=1;i<=m;i++)
        c+=sumlin(a, i, n);
    g<<c;
    return 0;
}