Cod sursa(job #1208916)

Utilizator icristi01Cristian Ilca icristi01 Data 16 iulie 2014 19:25:08
Problema Jocul Flip Scor 10
Compilator c Status done
Runda Arhiva de probleme Marime 1.35 kb
#include <stdio.h>

int matrixSum(int a[16][16], int n, int m, int row, int col) {
    int i, j, sum=0;
    for(i=0; i<n; i++) {
        for(j=0; j<m; j++) {
            if(i == row || j == col) {
                sum+=a[i][j]*(-1);
                //printf("%d ",a[i][j]*-1);
            }
            else {
                sum+=a[i][j];
                //printf("%d ",a[i][j]);
            }
        }
        //printf("\n");
    }
    //printf("\n");
    return sum;
}

int main() {
    FILE *in, *out;
    int matrix[16][16], n, m, i, j, maxSum=0, mSum=0;
    in = fopen("flip.in", "r");
    out = fopen("flip.out", "w");
    if(!fscanf(in, "%d %d", &n, &m))
        printf("Could not read from file!");
    for(i=0; i<n; i++) {
        for(j=0; j<m; j++) {
            if(!fscanf(in, "%d ", &matrix[i][j]))
                printf("Could not read from file!");
        }
    }
    maxSum = matrixSum(matrix, n, m, -1, -1);
    for(i=0; i<n; i++) {
        for(j=0; j<m; j++) {
            mSum = matrixSum(matrix, n, m, i, j);
            if(maxSum < mSum) {
                maxSum = mSum;
            }
            //printf("Matrix sum: %d maxSum: %d\n", mSum, maxSum);
        }
    }
    if(!fprintf(out, "%d", maxSum)) {
        printf("Could not write to file!");
    }
    fclose(in);
    fclose(out);
    return 0;
}