Pagini recente » Cod sursa (job #453880) | Cod sursa (job #2549866) | Cod sursa (job #668871) | Cod sursa (job #1448817) | Cod sursa (job #547907)
Cod sursa(job #547907)
#include<fstream.h>
#include<iostream.h>
ifstream f("flip.in");
ofstream g("flip.out");
long long v[17][17],t[17][17],n,m,i,j,s,max;
int suma()
{
for(i=1,s=0;i<=n;i++)
for(j=1;j<=m;s+=v[i][j],j++);
return s;
}
void afisare()
{
cout<<"\n";
for(i=1;i<=n;cout<<"\n",i++)
for(j=1;j<=m;cout<<v[i][j]<<" ",j++);
}
void schimba_linia(int i)
{
int q;
for(q=1;q<=m;q++)
{v[i][q]*=-1;}
}
void schimba_coloana( int j)
{
int q;
for(q=1;q<=n;q++)
{v[q][j]*=-1;}
}
void MatriceaOriginala()
{
for(i=1;i<=n;i++)
{
for(j=1;j<=m;j++)
{
v[i][j]=t[i][j];
}
}
}
void Level_1()
{
int q;
for(q=1;q<=n;q++)
{
schimba_linia(q);
s=suma();
MatriceaOriginala();
if(s>max)max=s;
}
}
void Level_2()
{
int q;
for(q=1;q<=m;q++)
{
schimba_coloana(q);
s=suma();
MatriceaOriginala();
if(s>max)max=s;
}
}
void Level_3()
{
int q,w;
for(q=1;q<=n;q++)
{
schimba_linia(q);
for(w=1;w<=m;w++)
{
schimba_coloana(w);
s=suma();
if(s>max)max=s;
schimba_coloana(w);
}
MatriceaOriginala();
}
}
void Level_4()
{
int q,w;
for(w=1;w<=m;w++)
{
schimba_coloana(w);
for(q=1;q<=n;q++)
{
schimba_linia(q);
s=suma();
if(s>max)max=s;
schimba_linia(q);
}
MatriceaOriginala();
}
}
int main ()
{
int level=0;
f>>n>>m;
for(i=1;i<=n;i++)
{
for(j=1;j<=m;j++)
{f>>v[i][j];
t[i][j]=v[i][j];
}
}
max=-9999999;
//Schimbatoriu
while(level!=9)
{
if(level==1)Level_1();
if(level==2)Level_2();
if(level==3)Level_3();
if(level==4)Level_4();
level++;
}
g<<max<<"\n";
}