Pagini recente » Cod sursa (job #1730674) | Cod sursa (job #2580015) | Cod sursa (job #1585299) | Cod sursa (job #1644483) | Cod sursa (job #610031)
Cod sursa(job #610031)
#include <iostream>
#include <fstream.h>
using namespace std;
int main (void) {
int N, M, i, j, OK=1, sum=0, m=0, c=1, s=1, v[16][16],w[16][16],a=1,b=1,x,y;
ifstream f("flip.in");
ofstream g("flip.out");
f>>N;
f>>M;
for (i=1;i<=N;i++)
for (j=1;j<=M;j++)
f>>v[i][j];
for (i=1;i<=N;i++) {
for (j=1;j<=M;j++) {
w[a][b]=v[i][j];
b++;}
b=1;
a++;}
for (i=1;i<=N;i++)
for (j=1;j<=M;j++)
m=m+v[i][j];
while (OK==1) {
OK=0;
for (j=1;j<=M;j++) {
for (i=1;i<=N;i++)
w[i][j]=w[i][j]*(-1);
for (a=1;a<=N;a++)
for (b=1;b<=M;b++)
sum=sum+w[a][b];
if (sum>m) {OK=1;m=sum;s=j;c=2;}
sum=0; a=1;b=1;
for (x=1;x<=N;x++) {
for (y=1;y<=M;y++) {
w[a][b]=v[x][y];
b++;}
b=1;
a++;}}
for (i=1;i<=N;i++) {
for (j=1;j<=M;j++)
w[i][j]=w[i][j]*(-1);
for (a=1;a<=N;a++)
for (b=1;b<=M;b++)
sum=sum+w[a][b];
if (sum>m) {OK=1; m=sum;s=i;c=1;}
sum=0;a=1;b=1;
for (x=1;x<=N;x++) {
for (y=1;y<=M;y++) {
w[a][b]=v[x][y];
b++;}
b=1;
a++;}}
if (c==1) {
for (j=1;j<=M;j++)
v[s][j]=v[s][j]*(-1); }
if (c==2) {
for (i=1;i<=N;i++)
v[i][s]=v[i][s]*(-1);}
c=0;a=1;b=1;
for (i=1;i<=N;i++) {
for (j=1;j<=M;j++) {
w[a][b]=v[i][j];
b++;}
b=1;
a++;}}
g<<m;
f.close ();
g.close ();}