Pagini recente » Cod sursa (job #215917) | Cod sursa (job #2209293) | Cod sursa (job #2142730) | Cod sursa (job #1827028) | Cod sursa (job #1238490)
#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],alin[17][17],acol[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",&alin[i][j]);
a[i][j] = acol[i][j] = alin[i][j];
if (alin[i][j] > 0)
{
vpozlin[i] += alin[i][j];
vpozcol[j] += alin[i][j];
}
else
{
vneglin[i] += alin[i][j];
vnegcol[j] += alin[i][j];
}
}
}
for(i = 0 ; i < n; i++) {
//printf("pozlin = %d %d neglin\n",vpozlin[i],vneglin[i]);
int ok = 0;
if (vpozlin[i] < abs(vneglin[i]))
ok = 1;
if (ok) {
for (j = 0; j < m; j++)
alin[i][j] *= (-1);
}
//for j
}
for(i = 0 ; i < m; i++){
//printf("pozcol = %d %d negcol\n",vpozcol[i],vnegcol[i]);
int ok = 0;
if (vpozcol[i] < abs(vnegcol[i]))
ok = 1;
if (ok) {
for (j = 0; j < n; j++)
acol[j][i] *= (-1);
}
}
for (i = 0; i < n; i++){
for (j = 0; j < m; j++){
if (alin[i][j] == acol[i][j])
sum += alin[i][j];
//else if (i != j)
// sum += abs(alin[i][j]);
else{
if (alin[i][j] != a[i][j])
sum += alin[i][j];
else
sum += acol[i][j];
}
}
}
//if (sumlin <= sumcol)
// sum += sumcol;
//else
// sum += sumlin;
fprintf(fout,"%d\n",sum);
printf("%d\n",sum);
}
fclose(fp);
fclose(fout);
}