Pagini recente » Cod sursa (job #1288418) | Cod sursa (job #776074) | Cod sursa (job #2244743) | Cod sursa (job #1382944) | Cod sursa (job #2353746)
#include <vector>
#include <fstream>
using namespace std;
int n, m;
void hFlip(vector<int> &a){
for(i : a){
i *= -1;
}
}
void vFlip(vector<vector<int>> &v, int in){
for(i : v){
i[in] *= -1;
}
}
int getSum(vector<int> a){
int sum = 0;
for(i : a){
sum += i;
}
return sum;
}
int getCSum(vector<vector<int> a, int b){
int sum = 0;
for(i : a){
sum += i[b];
}
return sum;
}
int main(){
fstream f("flip.in", fstream::in);
f >> n >> m;
vector< vector<int> > x(n, vector<int>(m));
vector<int> hsums(n), vsums(m);
int res = 0;
for(int i = 0; i < x.size(); i++){
for(j : x[i]){
f >> j;
}
hsums[i] = getSum(x[i]);
if(hsums[i] < 0){
hFlip(x[i]);
hsums[i] *= -1;
}
res += hsums[i];
}
int res2 = 0;
for(int i = 0; i < m; i++){
vsums[i] = getCSum(x, i);
if(vsums[i] < 0){
vFlip(x, i);
vsums[i] *= -1;
}
res2 += vsums[i];
}
f.close();
f.open("flip.out", fstream::out);
res < res2 ? f << res : f << res2;
}