Pagini recente » Cod sursa (job #2720331) | Cod sursa (job #1557614) | Cod sursa (job #155007) | Rezultatele filtrării | Cod sursa (job #781691)
Cod sursa(job #781691)
#include<fstream>
using namespace std;
int N,M,v[20005][20005],x,updown[1000005],leftright[1000005],updown2[1000005],leftright2[100],misca=1,misca2;
void citire()
{
ifstream fin("flip.in");
fin>>N>>M;
for(int i=1;i<=N;++i)
for(int j=1;j<=M;++j)
fin>>v[i][j];
fin.close();
}
void magic()
{
while(misca)
{
misca=0;
for(int j=1;j<=N;++j)
{
for(int i=1;i<=M;++i)
{
leftright[j]+=v[j][i];
leftright2[j]+=-v[j][i];
}
if(leftright2[j]>leftright[j])
{
for(int i=1;i<=N;++i)
v[j][i]=-1*v[j][i];
++misca;
++misca2;
}
}
}
misca=1;
while(misca)
{
misca=0;
for(int j=1;j<=N;++j)
{
for(int i=1;i<=M;++i)
{
updown[j]+=v[i][j];
updown2[j]-=v[i][j];
}
if(updown2[j]>updown[j])
{
for(int i=1;i<=N;++i)
v[i][j]=-1*v[i][j];
++misca;
++misca2;
}
}
}
}
void afisare()
{
ofstream fout("flip.out");
for(int i=1;i<=N;i++)
for(int j=1;j<=M;j++)
x+=v[i][j];
fout<<x;
fout.close();
}
int main()
{
citire();
while(misca)
magic();
afisare();
return 0;
}