Pagini recente » Cod sursa (job #332237) | Cod sursa (job #484739) | Cod sursa (job #2816496) | Cod sursa (job #2093184) | Cod sursa (job #2471716)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("flip.in");
ofstream g("flip.out");
int n,m;
int t[20][20];
int maxSum = -1000000;
void afis()
{
for(int i = 0; i <= n ; i++)
{
for(int j = 0; j <= m ; j++)
cout<<t[i][j]<<" ";
cout<<endl;
}
}
void makeSums()
{
int sum = 0;
for(int i = 1; i <= n ; i++)
t[i][0] = 0;
for(int j = 1; j <= m ; j++)
t[0][j] = 0;
for(int i = 1; i <= n ; i++)
for(int j = 1; j <= m ; j++)
{
t[i][0] += t[i][j];
t[0][j] += t[i][j];
sum += t[i][j];
}
if(sum > maxSum) maxSum = sum;
}
void changeCol(int col)
{
for(int i = 1; i <= n ; i++)
t[i][col] *= -1;
}
void changeLine(int ln)
{
for(int j = 1; j <= m ; j++)
t[ln][j] *= -1;
}
int main()
{
f>>n>>m;
for(int i = 1; i <= n ; i++)
for(int j = 1; j <= m ; j++)
f>>t[i][j];
makeSums();
for(int i = 1; i <= n ; i++)
if(t[i][0] < 0)
{
changeLine(i);
makeSums();
}
for(int j = 1; j <= m ; j++)
if(t[0][j] < 0)
{
changeCol(j);
makeSums();
}
g<<maxSum;
f.close();
g.close();
return 0;
}