Cod sursa(job #2467474)

Utilizator Radu2914Vaduva Radu-Andrei Radu2914 Data 4 octombrie 2019 14:42:55
Problema Jocul Flip Scor 20
Compilator c-64 Status done
Runda Arhiva de probleme Marime 3.1 kb
#include <stdio.h>
#include <stdlib.h>

int main()
{
    FILE *flip_in=fopen("flip.in","r");
    FILE *flip_out=fopen("flip.out","w");

    unsigned int N,M;

    fscanf(flip_in,"%u",&N);
    fscanf(flip_in,"%u",&M);

    if(N<=0 || M<=0 || N>16 || M>16)
    {
        exit(-1);
    }

    long long int a[N][M];
    long long int x;
    long long int i=0,j=0;

    long long int s,sum=0;

    while(i<N)
    {
        while(j<M)
        {
            fscanf(flip_in,"%lli",&x);
            a[i][j]=x;
            j++;
        }
        j=0;
        i++;
    }

        printf("\n");
        for(i=0;i<N;i++)
        {
            for(j=0;j<M;j++)
            {
                printf("%lli ",a[i][j]);
            }
            printf("\n");
        }


    if(N>=M)
    {
        for(j=0;j<M;j++)
        {
            for(i=0;i<N;i++)
            {
                s+=a[i][j];
            }
            if(s<0)
            {
                for(i=0;i<N;i++)
                {
                    a[i][j]=-a[i][j];
                }
            }
            s=0;
        }

        printf("\n");
        for(i=0;i<N;i++)
        {
            for(j=0;j<M;j++)
            {
                printf("%lli ",a[i][j]);
            }
            printf("\n");
        }

        for(i=0;i<N;i++)
        {
            for(j=0;j<M;j++)
            {
                s+=a[i][j];
            }
            if(s<0)
            {
                for(j=0;j<M;j++)
                {
                    a[i][j]=-a[i][j];
                }
            }
            s=0;
        }

        printf("\n");
        for(i=0;i<N;i++)
        {
            for(j=0;j<M;j++)
            {
                printf("%lli ",a[i][j]);
            }
            printf("\n");
        }
        //
    }
    else
    {
        for(i=0;i<N;i++)
        {
            for(j=0;j<M;j++)
            {
                s+=a[i][j];
            }
            if(s<0)
            {
                for(j=0;j<M;j++)
                {
                    a[i][j]=-a[i][j];
                }
            }
            s=0;
        }

        printf("\n");
        for(i=0;i<N;i++)
        {
            for(j=0;j<M;j++)
            {
                printf("%lli ",a[i][j]);
            }
            printf("\n");
        }

        for(j=0;j<M;j++)
        {
            for(i=0;i<N;i++)
            {
                s+=a[i][j];
            }
            if(s<0)
            {
                for(i=0;i<N;i++)
                {
                    a[i][j]=-a[i][j];
                }
            }
            s=0;
        }

        printf("\n");
        for(i=0;i<N;i++)
        {
            for(j=0;j<M;j++)
            {
                printf("%lli ",a[i][j]);
            }
            printf("\n");
        }
        //

    }

    for(j=0;j<M;j++)
    {
        for(i=0;i<N;i++)
        {
            sum+=a[i][j];
        }
    }

    fprintf(flip_out,"%lli",sum);

    fclose(flip_in);
    fclose(flip_out);

    return 0;
}