Pagini recente » Cod sursa (job #350525) | Cod sursa (job #570102) | Cod sursa (job #2654434) | Cod sursa (job #2552715) | Cod sursa (job #1261923)
#include<fstream>
using namespace std;
int tabla[15][15], n, m, answer = 0;
bool OK = false;
int column_sum(int column);
int line_sum(int line);
int change_line(int column);
int change_column(int line);
int main(){
ifstream input("flip.in");
input >> n >> m;
for (int i = 0; i < n; i++){
for (int j = 0; j < m; j++){
input >> tabla[i][j];
}
}
input.close();
do{
OK = true;
for (int i = 0; i < n; i++){
if (line_sum(i) < change_line(i))
{
OK = false;
}
else{
change_line(i);
}
for (int j = 0; j < m; j++){
if (column_sum(j) < change_column(j)){
OK = false;
}
else{
change_column(j);
}
}
}
} while (!OK);
for (int i = 0; i < n; i++){
for (int j = 0; j < m; j++)
{
answer += tabla[i][j];
}
}
ofstream output("flip.out");
output << answer;
output.close();
return 0;
}
int column_sum(int column){
int sum = 0;
for (int i = 0; i < n; i++){
sum += tabla[i][column];
}
return sum;
}
int line_sum(int line){
int sum = 0;
for (int j = 0; j < m; j++){
sum += tabla[line][j];
}
return sum;
}
int change_line(int line){
for (int j = 0; j < m; j++){
tabla[line][j] *= -1;
}
return line_sum(line);
};
int change_column(int column){
for (int i = 0; i < n; i++){
tabla[i][column] *= -1;
}
return column_sum(column);
};