Pagini recente » Cod sursa (job #1703546) | Cod sursa (job #106344) | Cod sursa (job #1371679) | Cod sursa (job #2959331) | Cod sursa (job #168748)
Cod sursa(job #168748)
#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<n;j++)
f>>a[i][j];
}
long total()
{suma=0;
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 i=0;i<m;i++)
a[t][i]*=(-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);
k++;
}
}
}
int main()
{citeste();
back(0);
return 0;
}