Pagini recente » Cod sursa (job #1263902) | Cod sursa (job #1226474) | Cod sursa (job #289336) | Cod sursa (job #1402461) | Cod sursa (job #334350)
Cod sursa(job #334350)
#include<fstream>
using namespace std;
int l,c;
long a[20][20];
int SumaLin(int i)
{
int s=0;
for (int j=0;j<c;j++)
s+=a[i][j];
return s;
}
int SumaCol(int j)
{
int s=0;
for (int i=0;i<l;i++)
s+=a[i][j];
return s;
}
void FlipLin(int i)
{
for (int j=0;j<c;j++)
a[i][j]*=-1;
}
void FlipCol(int j)
{
for (int i=0;i<l;i++)
a[i][j]*=-1;
}
int main()
{
ifstream fin("flip.in");
fin>>l>>c;
int i,j;
for (i=0;i<l;i++)
for (j=0;j<c;j++)
fin>>a[i][j];
int ok,min,pozi,pozj;
do
{
ok=1;min=pozi=pozj=0;
for (i=0;i<l;i++)
if (SumaLin(i)<min) {min=SumaLin(i);pozi=i;pozj=0;}
for (j=0;j<c;j++)
if (SumaCol(j)<min) {min=SumaCol(j);pozi=0;pozj=j;}
if (pozi!=0) {FlipLin(pozi);ok=0;}
if(pozj!=0) {FlipCol(pozj);ok=0;}
}
while (ok==0);
long s=0;
for (i=0;i<l;i++)
for (j=0;j<c;j++)
s+=a[i][j];
ofstream fout("flip.out");
fout<<s<<"\n";
/*for (i=0;i<l;i++)
{
for (j=0;j<c;j++)
fout<<a[i][j]<<" ";
fout<<"\n";
}*/
return 0;
}