Pagini recente » 1235123 | Cod sursa (job #1718944) | Cod sursa (job #2696743) | Atasamentele paginii lastofjune | Cod sursa (job #1551300)
#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;
}