Cod sursa(job #2517181)

Utilizator gonnadiGaus Gonnadi gonnadi Data 2 ianuarie 2020 23:51:50
Problema Jocul Flip Scor 30
Compilator c-64 Status done
Runda Arhiva de probleme Marime 0.9 kb
#include <stdio.h>
#include <stdlib.h>
#define N 16
int lin[N], col[N], mat[N][N];
int n, m, r;
int generate_lin(int i){
    if(i>m){
        return generate_col(0);
    }
    generate_lin(i+1);
    lin[i]*=-1;
    generate_lin(i+1);
    return 0;
}
int generate_col(int i){
    if(i>n){
        return suma();
    }
    generate_col(i+1);
    col[i]*=-1;
    generate_col(i+1);
    return 0;
}
int suma(){
    int s=0, i, j;
    for(i=0;i<n;i++){
        for(j=0;j<m;j++){
            s+=mat[i][j]*lin[j]*col[i];
        }
    }
    if(s>r)
        r=s;
}
int main()
{
    FILE *f1,*f2;
    f1=fopen("flip.in","r");
    f2=fopen("flip.out","w");
    int i, j;
    fscanf(f1,"%d%d",&n,&m);
    for(i=0;i<n;i++)
        for(j=0;j<m;j++){
            fscanf(f1,"%d",&mat[i][j]);
            lin[j]=col[i]=1;
        }
    generate_lin(0);
    fprintf(f2,"%d",r);
    return 0;
}