Cod sursa(job #1729159)

Utilizator LDPalcuPalcu Daniela LDPalcu Data 14 iulie 2016 12:46:54
Problema Jocul Flip Scor 20
Compilator c Status done
Runda Arhiva de probleme Marime 1.07 kb
#include <stdio.h>
#include <stdlib.h>
int a[17][17];
int s;
void coloana(int n,int m,int k,FILE *pg)
{
    int s1=0,s2=0,i;
    for (i=1; i<=n; i++)
    {
        s1+=a[i][k];
        s2+=-a[i][k];
    }
    if (s1>s2)
    {
        s+=s1;
    }
    else
    {
        s+=s2;
        for (i=1; i<=n; i++)
            a[i][k]=-a[i][k];
    }
    if (k==m)
    {
       fprintf(pg,"%d",s);
    }
    else
        coloana(n,m,k+1,pg);
}
void linie(int n,int m,int k,FILE *pg)
{
    int s1=0,s2=0,i;
    for (i=1; i<=m; i++)
        {s1+=a[k][i];
        s2+=-a[k][i];}
    if (s1<s2)
   {
        for (i=1; i<=m; i++)
            a[k][i]=-a[k][i];
    }
    if (k==n)
    {
        coloana(n,m,1,pg);
    }
    else
        linie(n,m,k+1,pg);



}
int main()
{
    FILE *pf,*pg;

    pf=fopen("flip.in","r");
    pg=fopen("flip.out","w");

    int m,n;
    fscanf(pf,"%d %d",&n,&m);
    int i,j;
    for (i=1; i<=n; i++)
        for (j=1; j<=m; j++)
            fscanf(pf,"%d ",&a[i][j]);
    linie(n,m,1,pg);


    return 0;
}