Pagini recente » Cod sursa (job #1947874) | Cod sursa (job #2415411) | Cod sursa (job #2565327) | Cod sursa (job #1355134) | Cod sursa (job #19253)
Cod sursa(job #19253)
#include<iostream>
#include<fstream>
using namespace std;
#define inputfile "flip.in"
#define outputfile "flip.out"
const int NMAX = 16;
void ReadData(int a[NMAX][NMAX], int &N, int&M, int c[NMAX], int l[NMAX]) {
ifstream in(inputfile);
in>>N>>M;
for (int i = 1; i<=N; i++) l[i] = 0;
for (int j = 1; j<=M; j++) c[j] = 0;
for (int i = 1; i<=N; i++)
for (int j = 1; j<=M; j++) {
in>>a[i][j];
l[i] += a[i][j];
c[j] += a[i][j];
}
in.close();
}
int Solve(int a[NMAX][NMAX], int N, int M, int c[NMAX], int l[NMAX]) {
int suma = 0;
for (int i = 1; i<=N; i++) suma += l[i];
for (int i = 1; i<=N; i++)
if (l[i]<0) {
for (int j = 1; j<= M; j++) {
a[i][j] *= (-1);
c[j] += 2*a[i][j];
}
l[i] *= (-1);
suma += 2*l[i];
}
for (int j = 1; j<=M; j++)
if (c[j]<0) {
for (int i = 1; i<= N; i++) {
a[i][j] *= (-1);
l[i] += 2*a[i][j];
}
c[j] *= (-1);
suma += 2*c[j];
}
return suma;
}
int main() {
int a[NMAX][NMAX];
int c[NMAX],l[NMAX];
int N,M;
ReadData(a,N,M,c,l);
cout<<Solve(a,N,M,c,l);
for (int i = 1; i<=N; i++) {
for (int j = 1; j<=M; j++)
cout<<a[i][j]<<' ';
cout<<'\n';
}
}