Pagini recente » Cod sursa (job #1596353) | Cod sursa (job #1117444) | Istoria paginii runda/luca_oji | Cod sursa (job #474563) | Cod sursa (job #1984532)
#include <fstream>
using namespace std;
ifstream in("flip.in");
ofstream out("flip.out");
int a[16][16], aux[16][16];
int n,m;
int i,j;
long sum;
void duplicateMatrix(){
for(i=0; i<n; ++i)
for(j=0; j<m; ++j)
aux[i][j] = a[i][j];
}
void outputMatrixA(){
//output
for(i=0; i<n; ++i){
for(j=0; j<m; ++j)
out<<a[i][j]<<' ';
out<<endl;
}
}
void outputMatrixAux(){
//output
for(i=0; i<n; ++i){
for(j=0; j<m; ++j)
out<<aux[i][j]<<' ';
out<<endl;
}
}
void flippingLine(int l){
for(i=0; i<n; ++i)
aux[i][l] = aux[i][l] * -1;
}
void flippingColumn(int k){
for(j=0; j<m; ++j)
aux[k][j] = aux[k][j] * -1;
}
void computeSum(){
long auxSum=LONG_MIN;
for(i=0; i<n; ++i)
for(j=0; j<m; ++j)
auxSum += aux[i][j];
if(auxSum > sum)
sum = auxSum;
}
int main()
{
sum = LONG_MIN;
in >> n >> m;
//read
for(i=0; i<n; ++i)
for(j=0; j<m; ++j)
in>>a[i][j];
duplicateMatrix();
for(int i=0; i<n; ++i)
for(int j=0; j<m; ++j){
flippingLine(j);
computeSum();
duplicateMatrix();
flippingColumn(i);
computeSum();
duplicateMatrix();
}
out<<sum;
return 0;
}