Pagini recente » Cod sursa (job #1696618) | Cod sursa (job #1704799) | Cod sursa (job #605870) | Cod sursa (job #722949) | Cod sursa (job #1489485)
#include <fstream>
using namespace std;
int n,m,i,j,v[290],sum,x[290],s,a[17][17],b[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;
for (i=1;i<=n;i++)
for (j=1;j<=m;j++)
b[i][j] = a[i][j];
for (i=1;i<=m;i++)
if (v[i] == 1){
for (j=1;j<=n;j++)
b[j][i]*=-1;
}
sum = 0;
for (i=1;i<=n;i++) {
s = 0;
for (j=1;j<=m;j++)
s += b[i][j];
if (s > 0)
sum += s;
else
sum -= s;
}
if (sum > maxim)
maxim = sum;
j = m;
while (j > 0 && v[j] == 1){
v[j] = 0;
j--;
}
v[j] ++;
}
/*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<<maxim;
return 0;
}