Cod sursa(job #1204136)

Utilizator zackNicu G zack Data 2 iulie 2014 03:50:42
Problema Jocul Flip Scor 20
Compilator c Status done
Runda Arhiva de probleme Marime 1.46 kb
#include <stdio.h>
#include <stdlib.h>

int main() {

    unsigned n, m, i, j;
    int suma1 = 0, suma2 = 0, suma_n, suma_p;
    FILE * file_ptr;

    file_ptr = fopen("flip.in", "r");
    if(file_ptr == NULL)
        exit(EXIT_FAILURE);
    fscanf(file_ptr, "%d", &n);
    fscanf(file_ptr, "%d", &m);
    int t[n][m];
    for(i=0;i<n;i++){
        for(j=0;j<m;j++){
            fscanf(file_ptr, "%d", &t[i][j]);
        }
    }
    fclose(file_ptr);

    //linii
    for(i=0;i<n;i++){
        suma_p = 0;
        suma_n = 0;
        for(j=0;j<m;j++){
            suma_p += t[i][j];
        }
        for(j=0;j<m;j++){
            suma_n += (-1) * t[i][j];
        }
        if(suma_n > suma_p){
            for(j=0;j<m;j++){
                t[i][j] = (-1) * t[i][j];
            }
            suma1 += suma_n;
        }else{
            suma1 += suma_p;
        }
    }
    //coloane
    for(i=0;i<m;i++){
        suma_p = 0;
        suma_n = 0;
        for(j=0;j<n;j++){
            suma_p += t[j][i];
        }
        for(j=0;j<n;j++){
            suma_n += (-1) * t[j][i];
        }
        if(suma_n > suma_p){
            /*for(j=0;j<n;j++){
                t[j][i] = (-1) * t[j][i];
            }*/
            suma2 += suma_n;
        }else{
            suma2 += suma_p;
        }
    }

    file_ptr = fopen("flip.out", "w+");
    fprintf(file_ptr, "%d", suma1>suma2?suma1:suma2);
    fclose(file_ptr);

    return 0;
}