Pagini recente » Cod sursa (job #1028526) | Cod sursa (job #2967093) | Cod sursa (job #995400) | Cod sursa (job #2867603) | Cod sursa (job #168763)
Cod sursa(job #168763)
#include <fstream>
using namespace std;
ifstream f ("flip.in");
ofstream g ("flip.out");
int n,m;
long a[16][16],suma,minim,maxim;
void citeste()
{f>>n>>m;
for (int i=0;i<n;i++)
for (int j=0;j<m;j++)
f>>a[i][j];
}
long total()
{for (int i=0;i<n;i++)
for (int j=0;j<m;j++)
suma+=a[i][j];
return suma;
}
void flip (int t)
{for (int b=0;b<m;b++)
a[t][b]=a[t][b]*(-1);
}
void back (int k)
{if (k>n) g<<total();
else
{minim=0;
maxim=0;
for (int i=0;i<m;i++)
{if (a[k][i]<0) minim+=(a[k][i]*(-1));
else maxim+=a[k][i];
}
if (minim>maxim) flip(k);
back(++k);
}
}
int main()
{citeste();
back(0);
return 0;
}