Pagini recente » Cod sursa (job #1080358) | Cod sursa (job #1931624) | Diferente pentru problema/lca intre reviziile 25 si 24 | Cod sursa (job #1956670) | Cod sursa (job #3331051)
#include <fstream>
#include <vector>
using namespace std;
ifstream cin("flip.in");
ofstream cout("flip.out");
int n, m, sMax, s;
vector<vector<int>>V(18,vector<int>(18,0));
vector<int>Combinari(18);
void verificare() {
int sTemp,coef,i,j;
s = 0;
for (i = 0; i < n; i++) {
sTemp = 0;
for (j = 0; j < m; j++) {
if (Combinari[j] == 1) coef = -1;
else coef = 1;
sTemp += V[i][j] * coef;
}
if (sTemp < 0)sTemp = -sTemp;
s += sTemp;
}
if (s > sMax)sMax = s;
}
int main()
{
int i, j;
cin >> n >> m;
for (i = 0; i < n; i++) {
for (j = 0; j < m; j++) {
cin >> V[i][j];
sMax += V[i][j];
}
}
i = 0;
while (i < m) {
i = 0;
while (Combinari[i] == 1) {
Combinari[i] = 0;
i++;
}
if (i >= m) break;
Combinari[i] = 1;
//for (j = 0; j < m;j++)cout << Combinari[j] << ' ';
//cout << '\n';
verificare();
}
cout << sMax;
/*
comb pe fiecare col
sume pe linii roteste linia dc negativa adauga la suma finala
*/
}