Cod sursa(job #1314392)

Utilizator GosulyGosuly Robert Gosuly Data 11 ianuarie 2015 20:15:04
Problema Jocul Flip Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.49 kb
#include <iostream>
#include <fstream>
using namespace std;

ifstream in("in.txt");
ofstream out("out.txt");

int n,m,V[100][100],i,j;
void flipOsz(int x)
{
    for(int i=1;i<=n;i++)
        V[i][x]*=-1;
}

void flipSor(int x)
{
    for(int i=1;i<=m;i++)
        V[x][i]*=-1;
}

void checkOsz(int x)
{
    int sz1=0,sz2=0;
     for(int i=1;i<=n;i++)
        {
            sz1+=V[i][x];
            sz2+=V[i][x]*(-1);
        }
        if(sz2>sz1)
            flipOsz(x);
}

void checkSor(int x)
{
    int sz1=0,sz2=0;
     for(int i=1;i<=m;i++)
        {
            sz1+=V[x][i];
            sz2+=V[x][i]*(-1);
        }
        if(sz2>sz1)
            flipSor(x);
}

int main()
{
    int sum=0,i,j;
   in>>n>>m;

   for(i=1;i<=n;i++)
    for(j=1;j<=m;j++)
        in>>V[i][j];

        if(n>=m)
        {
            for(i=1;i<=m;i++){
                checkOsz(i);
                    }
                for(i=1;i<=n;i++)
                    {
                checkSor(i);
                    }
        }
        else{

                 for(i=1;i<=m;i++){
                    checkOsz(i);
                    }

                for(i=1;i<=n;i++){
                    checkSor(i);
                        }

        }

        for(i=1;i<=n;i++){
            for(j=1;j<=m;j++){
                sum+=V[i][j];
                out<<V[i][j]<<" ";
            }
            out<<endl;
        }

    out<<sum;
    in.close();
    out.close();
}