Pagini recente » Cod sursa (job #3272701) | Cod sursa (job #742996) | Cod sursa (job #1972408) | Cod sursa (job #1670505) | Cod sursa (job #2618496)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("flip.in");
ofstream fout("flip.out");
void mcitire(int& n, int& m, int a[][100],int &S1)
{
fin >> n >> m;
for (int i = 1; i <= n; i++)
for (int j = 1; j <= m; j++)
{
fin >> a[i][j]; S1 += a[i][j];
}
}
void flipl(int linie,int m, int a[][100])
{
for (int i = 1; i <= m; i++)
a[linie][i] -= 2*a[linie][i];
}
void flipc(int coloana,int n, int a[][100])
{
for (int i = 1; i <= n; i++)
a[i][coloana] -= 2*a[i][coloana];
}
int suma(int n, int m,int a[][100])
{
int S = 0;
for (int i = 1; i <=n; i++)
for (int j = 1; j <= m; j++)
{
S += a[i][j];
}
return S;
}
void sortare(int frec[])
{
long aux;
for (long i = 1; i < 256; i++)
for (long j = i + 1; j <= 256; j++)
if (frec[i] < frec[j])
{
aux = frec[i];
frec[i] = frec[j];
frec[j] = aux;
}
}
void afisare(int n, int m, int a[][100])
{
for (int i = 1; i <= n; i++)
{
for (int j = 1; j <= m; j++)
cout << a[i][j] << " ";
cout << endl;
}
}
int* frec = new int[257];
int main()
{
int i, j, m, n, a[100][100], S1 = 0;
mcitire(n, m, a,S1);
for (i = 1; i <= n; i++)
{
flipl(i, m, a);
for (j = 1; j <= m; j++)
{
flipc(j, n, a);
suma(n, m, a);
frec[i * j] = suma(n,m,a);
flipc(j, n, a);
}
flipl(i, m, a);
}
sortare(frec);
fout << frec[1];
fout.close();
delete [] frec;
return 0;
}