Pagini recente » Cod sursa (job #172102) | Cod sursa (job #1444735) | Cod sursa (job #1488858) | Cod sursa (job #478448) | Cod sursa (job #1524413)
#include <fstream>
using namespace std;
ifstream f("flip.in");
ofstream g("flip.out");
int ma=0,n,nj,mj,st[100],s,m,mat[20][20];
int modul(int nr)
{
if(nr<0)
return nr*(-1);
else
return nr;
}
void bkt(int k)
{
int suml=0,sum=0;
int i,j,mati[20][20];
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
mati[i][j]=mat[i][j];
for(i=1;i<k;i++)
{
for(j=1;j<=m;j++)
{
mati[st[i]][j]=mati[st[i]][j]*(-1);
}
}
for(i=1;i<=m;i++)
{
suml=0;
for(j=1;j<=n;j++)
{
suml+=mati[j][i];
}
sum+=modul(suml);
}
if(sum>ma)
ma=sum;
if(k<=n)
{
for(i=st[k-1]+1;i<=n;i++)
{
st[k++]=i;
bkt(k+1);
k--;
}
}
}
void afisare()
{
int i,j;
for(i=1;i<=n;i++)
{
for(j=1;j<=m;j++)
g<<mat[i][j]<<" ";
g<<'\n';
}
g<<'\n';
}
int main()
{
f>>n>>m;
int i,j;
for(i=1;i<=n;i++)
{
for(j=1;j<=m;j++)
{
f>>mat[i][j];
}
}
bkt(1);
g<<ma<<'\n';
return 0;
}