Pagini recente » Monitorul de evaluare | Cod sursa (job #1167856) | Cod sursa (job #2102669) | Cod sursa (job #1979746) | Cod sursa (job #1238961)
#include <stdio.h>
#include <string.h>
#include <math.h>
void main()
{
FILE *fp,*fout;
char buff[255];
fp = fopen("flip.in", "r");
fout = fopen("flip.out","w");
int i,j;
int n,m;
int a[17][17];
int vpozlin[17],vneglin[17],vpozcol[17],vnegcol[17];
int sum = 0;
if( fp != NULL ){
fscanf(fp,"%d%d",&n,&m);
printf("n = %d m = %d\n",n,m);
for(i = 0; i < n; i++)
vpozlin[i] = vneglin[i] = 0;
for(i = 0; i < m; i++)
vpozcol[i] = vnegcol[i] = 0;
for (i = 0 ; i < n; i++){
for (j = 0; j < m; j++){
fscanf(fp,"%d",&a[i][j]);
if (a[i][j] > 0)
{
vpozlin[i] += a[i][j];
vpozcol[j] += a[i][j];
}
else
{
vneglin[i] += a[i][j];
vnegcol[j] += a[i][j];
}
}
}
for(i = 0 ; i < n; i++) {
int ok = 0;
if (vpozlin[i] < abs(vneglin[i]))
ok = 1;
if (ok) {
for (j = 0; j < m; j++)
a[i][j] *= (-1);
}
//for j
}
for(i = 0 ; i < m; i++){
int ok = 0;
if (vpozcol[i] < abs(vnegcol[i]))
ok = 1;
if (ok) {
for (j = 0; j < n; j++)
a[j][i] *= (-1);
}
}
for (i = 0; i < n; i++)
for (j = 0; j < m; j++)
sum += a[i][j];
fprintf(fout,"%d\n",sum);
printf("%d\n",sum);
}
fclose(fp);
fclose(fout);
}