Cod sursa(job #861789)

Utilizator stoicatheoFlirk Navok stoicatheo Data 21 ianuarie 2013 21:47:44
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.22 kb
#include <fstream>
 
using namespace std;
 
int a[17][17];
int b[17][17];
int n, m, i, j, sumacurenta, sum, v[17], maxim;
 
int main() {
    ifstream fin("flip.in");
    ofstream fout("flip.out");
    fin>>n>>m;
     
     
    for (i=1;i<=n;i++)
        for (j=1;j<=m;j++) {
            fin>>a[i][j];
        }
    while (v[0] == 0) {
         
        for (i=1;i<=n;i++)
            for (j=1;j<=m;j++)
                b[i][j] = a[i][j];
         
         
         
        for (i=1;i<=m;i++)
            if (v[i] == 1) {
                // coloana i din matrice o inmultesc cu -1;
                for (j=1;j<=n;j++)
                    b[j][i] = -a[j][i];
            }
        sumacurenta = 0;
        for (i=1;i<=n;i++) {
            sum = 0;
            for (j=1;j<=m;j++)
                sum += b[i][j];
            if (sum > 0)
                sumacurenta += sum;
            else
                sumacurenta -= sum;
        }
         
        if (sumacurenta > maxim)
            maxim = sumacurenta;
         
        i = m;
        while (v[i] == 1) {
            v[i] = 0;
            i--;
        }
        v[i] = 1;
    }
 
    fout<<maxim<<"\n";
         
    return 0;
}