Cod sursa(job #1551300)

Utilizator Evghenii_BeriozchinEvghenii Beriozchin Evghenii_Beriozchin Data 15 decembrie 2015 17:54:07
Problema Jocul Flip Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.93 kb
#include <iostream>
#include <fstream>

using namespace std;
int A[16][16];
ifstream fin("flip.in");
    ofstream fout("flip.out");
    int n,m;
void citire(){
fin>>n>>m;
for(int i=1; i<=n;i++)
for(int j=1; j<=m;j++)
    fin>>A[i][j];
}
int sumlinie(int i){
int S=0;
for(int j=1; j<=m;j++)
S+=A[i][j];
return S;
}
int sumcolon(int j){
int S=0;
for(int i=1; i<=n;i++)
S+=A[i][j];
return S;
}
void inverslinie(int i){
for(int j=1; j<=m;j++)
A[i][j]=A[i][j]*(-1);
}
void inverscolon(int j){
for(int i=1; i<=n;i++)
A[i][j]=A[i][j]*(-1);
}

int flip(){
    int k=1;
while (k!=0){
    k=0;
  for(int i=1; i<=n;i++){
if (sumlinie(i)<0) {
inverslinie(i);
k++;
}
  }
 for(int j=1; j<=m;j++){
if (sumcolon(j)<0) {
inverscolon(j);
k++;
}
  }
}
int T=0;

for(int i=1; i<=n;i++)
for(int j=1; j<=m;j++)
T+=A[i][j];

return T;


}

int main()
{
citire();
    fout << flip() << endl;
    return 0;
}