Cod sursa(job #2231926)

Utilizator DooMeDCristian Alexutan DooMeD Data 16 august 2018 16:28:00
Problema Jocul Flip Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.52 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream f ("flip.in");
ofstream g ("flip.out");
int n,m,a[17][17],i,j,sl[17],sc[17],s,ss,ns=1;
int main()
{
    f >> n >> m;
    for(i=1; i<=n; i++) {
        for(j=1; j<=m; j++) {
            f >> a[i][j];
            sl[i]+=a[i][j];
            sc[j]+=a[i][j];
            s=s+a[i][j];
        }
    }
    while(ns>=1) {
        ns=0;
        for(i=1; i<=n; i++) {
            ss=0;
            for(j=1; j<=m; j++) {
                ss=ss+(a[i][j]*-1);
            }
            if(ss>sl[i]) {
                ns++;
                for(j=1; j<=m; j++) {
                    s=s-a[i][j];
                    sl[i]=sl[i]-a[i][j];
                    sc[j]=sc[j]-a[i][j];
                    a[i][j]=a[i][j]*-1;
                    s=s+a[i][j];
                    sl[i]=sl[i]+a[i][j];
                    sc[j]=sc[j]+a[i][j];
                }
            }
        }
        for(j=1; j<=m; j++) {
            ss=0;
            for(i=1; i<=n; i++) {
                ss=ss+(a[i][j]*-1);
            }
            if(ss>sc[j]) {
                for(i=1; i<=n; i++) {
                    ns++;
                    s=s-a[i][j];
                    sl[i]=sl[i]-a[i][j];
                    sc[j]=sc[j]-a[i][j];
                    a[i][j]=a[i][j]*-1;
                    s=s+a[i][j];
                    sl[i]=sl[i]+a[i][j];
                    sc[j]=sc[j]+a[i][j];
                }
            }
        }
    }
    g << s;
    return 0;
}