Pagini recente » Cod sursa (job #1868612) | Cod sursa (job #2966465) | Cod sursa (job #1729733) | Cod sursa (job #2147332) | Cod sursa (job #1484066)
#include <fstream>
using namespace std;
int n,m,i,j,v[290],x[290],s,a[17][17],maxim,s2;
ifstream fin ("flip.in");
ofstream fout ("flip.out");
int main (){
fin>>n>>m;
for (i=1;i<=n;i++)
for (j=1;j<=m;j++)
fin>>a[i][j];
maxim = 0;
while (v[0] != 1){
s = 0;
j = m;
while (j > 0 && v[j] == 1){
v[j] = 0;
j--;
}
v[j] ++;
for (i=1;i<=m;i++){
if (v[i] == 1){
for (j=1;j<=n;j++)
s+=a[j][i]*-1;
}
else
for (j=1;j<=n;j++)
s+=a[j][i];
}
if (s > maxim){
maxim = s;
for (i=1;i<=m;i++)
x[i] = v[i];
}
}
for (i=1;i<=m;i++){
if (x[i] == 1){
for (j=1;j<=n;j++)
a[j][i]*=-1;
}
}
for (i=1;i<=n;i++){
s2 = 0;
for (j=1;j<=m;j++){
s2+=a[i][j]*-1;
}
if (maxim + s2 > maxim){
maxim = maxim + s2;
for (j=1;j<=m;j++)
a[i][j] *= -1;
}
}
s = 0;
for (i=1;i<=n;i++){
for (j=1;j<=m;j++)
s+=a[i][j];
}
fout<<s;
return 0;
}