Pagini recente » Cod sursa (job #1586375) | Cod sursa (job #1531599) | Cod sursa (job #2170895) | Cod sursa (job #3176054) | Cod sursa (job #2355204)
#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/*presupun ca sum min e a primului rand*/ , 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;
}
}