Pagini recente » Utilizatori inregistrati la preONI 2008, Runda 3, Clasa a 10-a | Cod sursa (job #883830) | Cod sursa (job #899194) | Cod sursa (job #1978687) | Cod sursa (job #389763)
Cod sursa(job #389763)
#include <fstream.h>
#include <iostream.h>
//Filp de pe infoarena
int n,m;
int tabla[100][100];
int i,j;
void citire()
{
ifstream in("flip.in");
in>>n>>m;
for (i=0; i<n; i++)
{
for (j=0; j<m; j++)
{
in>>tabla[i][j];
}
in;
}
in.close();
}
int getMaxSum()
{
int total=0;
for (i=0; i<n; i++)
for (j=0; j<m; j++)
total+=tabla[i][j];
return total;
}
void lines()
{
for (i=0; i<n; i++)
{
int normalsum=0;
for (j=0; j<m; j++)
{
normalsum+=tabla[i][j];
}
int othersum=0;
for (j=0; j<m; j++)
{
othersum+=tabla[i][j]*-1;
}
if (othersum>normalsum)
for (j=0; j<m; j++)
tabla[i][j]=tabla[i][j]*-1;
}
}
void columns()
{
for (j=0; j<m; j++)
{
int normalsum=0;
for (i=0; i<n; i++)
{
normalsum+=tabla[i][j];
}
int othersum=0;
for (i=0; i<n; i++)
{
othersum+=tabla[i][j]*-1;
}
if (othersum>normalsum)
for (i=0; i<n; i++)
tabla[i][j]=tabla[i][j]*-1;
}
}
void main()
{
citire();
if (n>m)
{
lines();
columns();
}
else
{
columns();
lines();
}
ofstream out("filp.out");
out<<getMaxSum();
out.close();
}