Pagini recente » Cod sursa (job #2955997) | Cod sursa (job #371796) | Cod sursa (job #1299244) | Cod sursa (job #2927414) | Cod sursa (job #3033518)
#include <fstream>
using namespace std;
ifstream fin ("flip.in");
ofstream fout("flip.out");
int n, m, matrice[20][20], sumaLinii[20], sumaTotal, sumaMax, elem, sumaLiniiInitial[20];
int main()
{
fin>>n>>m;
for(int i = 1; i <= n; i++)
{
for(int j = 1; j <= m; j++)
{
fin>>matrice[i][j];
sumaLiniiInitial[i] += matrice[i][j];
}
}
for(int k = 0; k < (1<<m); k++)
{
for(int i = 1; i <= n; i++)
sumaLinii[i] = sumaLiniiInitial[i];
sumaTotal = 0;
int x = k;
elem = 0;
while(x)
{
elem++;
if((x & 1) == 1)
{
for(int i = 1; i <= n; i++)
{
sumaLinii[i] -= 2 * matrice[i][elem];
}
}
x /= 2;
}
for(int i = 1; i <= n; i++)
{
if(sumaLinii[i] < 0)
sumaTotal -= sumaLinii[i];
else
sumaTotal += sumaLinii[i];
}
if(sumaMax < sumaTotal)
{
sumaMax = sumaTotal;
}
}
fout<<sumaMax;
}