Pagini recente » Rezultatele filtrării | Borderou de evaluare (job #3194038) | Istoria paginii runda/ada4/clasament | Borderou de evaluare (job #794414) | Cod sursa (job #171857)
Cod sursa(job #171857)
#include <fstream.h>
long matr[17][17],matr2[17][17];
int m,n;
long suma(){
int i,j;
long s=0;
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
s+=matr[i][j];
return s;
}
void flip(int lin,int col){
int i;
if(!lin)
for(i=1;i<=n;i++) matr[i][col]*=-1;
else if(!col) for(i=1;i<=m;i++) matr[lin][i]*=-1;
}
void citire(){
int i,j;
ifstream f("flip.in");
f>>n>>m; //n nr de linii
for(i=1;i<=n;i++) for(j=1;j<=m;j++) f>>matr[i][j];
f.close();
}
long maxx(){
int i,j;
for(i=1;i<=n;i++)
{
flip(i,0);
for(j=1;j<=m;j++){
flip(0,j);
long s=suma();
matr2[i][j]=s;
//cout<<i<<", "<<j<<" = " << s<<endl;
flip(0,j);
}
flip(i,0);
}
long max=matr2[1][1];
for(i=1;i<=n;i++) for(j=1;j<=m;j++)
if(matr2[i][j]>max) max=matr2[i][j];
return max;
}
int main(){
citire();
ofstream g("flip.out");
g<<maxx()<<"\n";
g.close();
}