Pagini recente » Cod sursa (job #257004) | Cod sursa (job #1051605) | Cod sursa (job #2909273) | Borderou de evaluare (job #941710) | Cod sursa (job #2195607)
#include <iostream>
#include <fstream>
#define nmax 17
using namespace std;
ifstream fin("flip.in");
ofstream fout("flip.out");
int N,M,matrice[nmax][nmax], suma,noua_sum,init[nmax][nmax];
int comuta(int linia, int coloana)
{
int sum=0;
for(int i =1 ; i <= M; i ++) // comutam coloana
{
matrice[linia][i]*= -1;
}
for(int j =1; j <= N; j++)
{
matrice[j][coloana]*=-1;
}
for(int i =1; i <= N; i++)
for(int j =1 ;j <=M; j++)
sum+=matrice[i][j];
return sum;
}
void restabileste()
{
for(int i = 1; i <= N; i ++)
for(int j =1 ; j <= M; j++)
matrice[i][j]=init[i][j];
}
int main()
{
fin>>N>>M;
for(int i =1 ; i <= N; i++)
{
for(int j=1 ; j <= M; j++)
{
fin>>matrice[i][j];
init[i][j]=matrice[i][j];
suma+=matrice[i][j];
}
}
for(int i =1 ; i <= N; i ++)
{
for(int j =1 ; j <= M; j++)
{
noua_sum=comuta(i,j);
restabileste();
if(noua_sum > suma)
suma=noua_sum;
}
}
fout<<suma;
return 0;
}