Pagini recente » Cod sursa (job #440295) | Cod sursa (job #1068042) | Cod sursa (job #1456788) | Cod sursa (job #2200403) | Cod sursa (job #2232484)
//============================================================================
// Name : JoculFlip.cpp
// Author : Cristi Rosu
// Version :
// Copyright : All rights reserved to Cristi Rosu
// Description : Jocul Flip in C++, Ansi-style
//============================================================================
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("flip.in");
ofstream g("flip.out");
int a[20][20], n, m, i, j;
void afisare(int v[20][20]){
for(i=1; i<=n; i++){
for(j=1; j<=m; j++)
g<<v[i][j]<<" ";
g<<endl;
}
}
int suma_matrice(int v[20][20]){
int suma=0;
for(i=1; i<=n; i++)
for(j=1; j<=m; j++)
suma+=a[i][j];
return suma;
}
int recursiv(int x){
int s1=0, s2=0, temp;
for(i=1; i<=n; i++){
for(j=1; j<=m; j++){
s1+=a[i][j];
}
if(s1*(-1)>s1){
for(j=1; j<=m; j++)
a[i][j]*=(-1);
temp=suma_matrice(a);
if(temp>=x){
x=temp;
for(j=1; j<=m; j++){
for(i=1; i<=n; i++){
s2+=a[i][j];
}
if(s2*(-1)>s2){
for(i=1; i<=n; i++)
a[i][j]*=(-1);
temp=suma_matrice(a);
if(temp>=x){
recursiv(temp);
x=temp;
}
}
s2=0;
}
}
}
s1=0;
}
return x;
}
int main() {
f>>n>>m;
for(i=1; i<=n; i++)
for(j=1; j<=m; j++){
f>>a[i][j];
}
g<<recursiv(suma_matrice(a));
return 0;
}