Cod sursa(job #2132779)

Utilizator burnfireStefanescu Petru burnfire Data 16 februarie 2018 00:30:10
Problema Jocul Flip Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.09 kb
#include <fstream>
#include <iostream>
#include <cstring>
using namespace std;
ifstream f ("flip.in");
ofstream g ("flip.out");
int v[17][17],n,m;
void prelucrare_linie(int i)
{
    int s1,s2;
    s1=s2=0;
    for(int j=1; j<=m; j++)
    {
        s1=v[i][j];
        s2=-v[i][j];
    }
    if(s2>s1)
        for(int j=1; j<=m; j++)
            v[i][j]*=-1;
}
void prelucrare_coloana(int j)
{
    int s1,s2;
    s1=s2=0;
    for(int i=1; i<=n; i++)
    {
        s1=v[i][j];
        s2=-v[i][j];
    }
    if(s2>s1)
        for(int i=1; i<=n; i++)
            v[i][j]*=-1;
}
int suma()
{
    int s=0;
    for(int i=1; i<=n; i++)
        for(int j=1; j<=m; j++)
            s+=v[i][j];
    return s;
}
int main()
{
    int maxim=-99999;
    f>>n>>m;
    for(int i=1; i<=n; i++)
        for(int j=1; j<=m; j++)
            f>>v[i][j];
    for(int k=1;k<=n*m;k++)
    {
    for(int i=1; i<=n; i++)
        prelucrare_linie(i);
    for(int j=1;j<=m;j++)
        prelucrare_coloana(j);
    if(maxim<suma())
        maxim=suma();
    }
    g<<maxim;
    return 0;
}