Cod sursa(job #2355212)

Utilizator CostiVVoicu Costi CostiV Data 25 februarie 2019 21:38:20
Problema Jocul Flip Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.48 kb
#include<fstream>
using namespace std;

int main()
{
    ifstream fin ( "flip.in" );
    ofstream fout ( "flip.out" );
    int N , M , i , j , v[17][17] , s=0;
    fin>>N>>M;
    if ( 1 <= N && M <= 16 ){
    for ( i = 1 ; i <= N ; ++i )
    {
        for ( j = 1 ; j <= M ; ++ j )
            fin>>v[i][j];
    }
    //Suma primului rand
    int S1=0;
    for ( j=1 ; j <= M ; ++j)
        S1 = S1 + v[1][j];
    //Aflarea sumei min de pe linii
    int sL = 0 , sL1 =S1 , lin_min = 1;
    for ( i = 1 ; i <= N ; ++i )
    {
        if ( sL < sL1 )
            sL1 = sL;
        sL=0;
        for ( j = 1 ; j <= M ; ++j )
        {
            sL = sL + v[i][j];
        }
        if ( sL < sL1 )
            lin_min=i;
    }
    //Suma primei coloane
    int S2=0;
    for ( i=1 ; i <= N ; ++i)
        S2 = S2 + v[i][1];
    //Aflarea sumei min de pe coloana
    int sc = 0 , sc1 = S2 , col_min = 1;

     for ( j = 1 ; j <= M ; ++j )
    {
        if ( sc < sc1 )
            sc1 = sc;
        sc=0;
        for ( i = 1 ; i <= N ; ++i )
        {
            sc = sc + v[i][j];
        }
        if ( sc < sc1 )
            col_min=j;
    }
    for ( j = 1 ; j <= M ; ++j )
    {
        v[lin_min][j] = -1 * v[lin_min][j];
    }
    for ( i = 1 ; i <= N ; ++i )
    {
        v[i][col_min] = -1 * v[i][col_min];
    }
    for ( i = 1 ; i <= N ; ++i )
    {
        for( j = 1 ; j <= M ; ++j )
            s = s + v[i][j];
    }
    fout<<s;
}
}