Pagini recente » Istoria paginii utilizator/gynxx | Cod sursa (job #1511441)
#include <stdio.h>
int t[16][16];
long long tv[16],tf[16];
int n,m;
int main(){
freopen("flip.in","r",stdin);
//freopen("flip.out","w",stdout);
int i,j,x,y;
scanf("%d%d",&n,&m);
for(i=0;i<n;i++){for(j=0;j<m;j++){
scanf("%d",&t[i][j]);
tv[j]+=t[i][j];
tf[i]+=t[i][j];
}}
/*for(i=0;i<n;i++){for(j=0;j<m;j++){printf("%d ",t[i][j]);}printf("\n");}
for(i=0;i<m;i++){printf("%d ",tv[i]);}printf("\n");
for(i=0;i<n;i++){printf("%d ",tf[i]);}printf("\n");*/
int ki=1;
long long minv,minf,vi,vj;
while(ki){
minv=16000001;
minf=16000001;
for(i=0;i<m;i++){
if(tv[i]<minv){
minv=tv[i];
vj=i;
}
}
for(i=0;i<n;i++){
if(tf[i]<minf){
minf=tf[i];
vi=i;
}
}
if((minv>=0 && minf>=0)){ki=0;break;}
for(i=0;i<m;i++){
if(i!=vj){
t[vi][i]*=-1;
}
}
for(i=0;i<n;i++){
if(i!=vi){
t[i][vj]*=-1;
}
}
for(i=0;i<n;i++){
for(j=0;j<m;j++){
tv[j]=0;
tf[i]=0;
}
}
for(i=0;i<n;i++){
for(j=0;j<m;j++){
tv[j]+=t[i][j];
tf[i]+=t[i][j];
}
}
}
//for(i=0;i<n;i++){for(j=0;j<m;j++){printf("%d ",t[i][j]);}printf("\n");}
int sum=0;
for(i=0;i<m;i++){
sum+=tv[i];
}
printf("%d\n",sum);
return 0;
}