Cod sursa(job #488317)

Utilizator impulseBagu Alexandru impulse Data 28 septembrie 2010 11:06:41
Problema Jocul Flip Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.93 kb
#include<iostream>
#include <stdio.h>
using namespace std;
int randuri, coloane;
int mat[16][16];

int sumaconstituienta()
{
    int total = 0;
    for(int rand = 0; rand < randuri; rand ++)
    {
        for(int coloana = 0; coloana < coloane; coloana++)
        {
            total += mat[rand][coloana];
        }
    }
    return total;
}

int branch(int rand, int col)
{
    mat[rand][col] = -mat[rand][col];
    for(int randd = 0; rand < randuri; rand++)
    {
        mat[randd][col] = -mat[randd][col];
    }
    for(int coloana = 0;  coloana <  coloane;  coloana++)
    {
        mat[rand][ coloana] = -mat[rand][coloana];
    }
}


int main()
{
    FILE *rFile, *wFile;
    rFile = fopen("flip.in", "r");

    fscanf(rFile, "%d", &randuri);
    fscanf(rFile, "%d", &coloane);


    for(int rand = 0; rand < randuri; rand ++)
    {
        for(int coloana = 0; coloana < coloane; coloana++)
        {
            fscanf(rFile, "%d", &mat[rand][coloana]);
        }
    }

    fclose(rFile);

    int maxtotal = sumaconstituienta();
    for(int d = 0; d < 10; d++){
    for(int rand = 0; rand < randuri; rand++)
    {
        for(int coloana = 0; coloana < coloane; coloana++)
        {
            branch(rand,coloana);
            int sumax = sumaconstituienta();
            if(sumax > maxtotal)
                maxtotal = sumax;
            branch(rand, coloana);
        }
    }
}

            branch(1, 1);
            for(int d = 0; d < 10; d++){
    for(int rand = 0; rand < randuri; rand++)
    {
        for(int coloana = 0; coloana < coloane; coloana++)
        {
            branch(rand,coloana);
            int sumax = sumaconstituienta();
            if(sumax > maxtotal)
                maxtotal = sumax;
            branch(rand, coloana);
        }
    }
}
    wFile = fopen("flip.out", "w+");
    fprintf(wFile, "%d", maxtotal);
    fclose(wFile);
    return 0;
}