Pagini recente » Monitorul de evaluare | Cod sursa (job #1685093) | Cod sursa (job #1151889) | Cod sursa (job #1297515) | Cod sursa (job #801086)
Cod sursa(job #801086)
#include<fstream>
using namespace std;
#define NMAX 20
int a[NMAX][NMAX], v[NMAX], n, m, maxim = -1;
inline void parcurge_matrice()
{
int suma = 0;
for(int i = 0; i < n; ++i)
{
int s = 0;
for(int j = 0; j < m; ++j)
s += a[i][j] * v[j + 1];
if(s < 0)s = -s;
suma += s;
}
if(suma > maxim) maxim = suma;
}
int back(int k)
{
if(k > m)parcurge_matrice();
else
{
for(int i = -1; i <= 1; i += 2)
{
v[k] = i;
back(k + 1);
}
}
}
int main()
{
ifstream f("flip.in");
ofstream g("flip.out");
f>>n>>m;
for(int i = 0; i < n; ++i)
for(int j = 0; j < m; ++j)
f>>a[i][j];
back(1);
g<<maxim<<'\n';
g.close();
return 0;
}