Pagini recente » Cod sursa (job #2082624) | Cod sursa (job #490609) | Cod sursa (job #2822011) | Cod sursa (job #1907012) | Cod sursa (job #21865)
Cod sursa(job #21865)
//Flip
#include <stdio.h>
int m,n;
long int a[850][18];
void citire(){
FILE *in;
in=fopen("flip.in","r");
fscanf(in,"%d %d",&n,&m);
for(int i=0;i<n;i++)
for(int j=0;j<m;j++){
fscanf(in,"%ld",&a[i][j]); }
}
long sum_lin(int i){
long sum=0;
for (int j=0;j<m;++j){
sum=sum+a[i][j];
}
return sum;
}
long sum_col(int j){
long sum=0;
for(int i=0;i<n;++i){
sum=sum+a[i][j];
}
return sum;
}
void flip_lin(int i){
for(int j=0;j<m;++j)
a[i][j]=-(a[i][j]);
}
void flip_col(int j){
for (int i=0;i<n;i++)
a[i][j]=-(a[i][j]);
}
long sum_tot(){
int i,j;
long sum=0;
for(i=0;i<n;i++)
for(j=0;j<m;j++)
sum+=a[i][j];
return sum;
}
void program(){
int b=1;int sum;
while(b){
b=0;
for(int i=0;i<n;++i){
sum=sum_lin(i);
if(sum<-sum) {flip_lin(i);b=1;}
}
//if(b) continue;
for(int j=0;j<m;++j){
sum=sum_col(j);
if(sum<-sum) {flip_col(j);b=1;}
}}FILE *out;
out=fopen("flip.out" ,"w");
fprintf(out,"%ld",sum_tot());
fclose(out);
}
int main(){
citire();
program();
return 0;
}
/*int main(){
citire();
return 0;
}*/