Pagini recente » Cod sursa (job #2934655) | Cod sursa (job #3154237) | Cod sursa (job #2364492) | Cod sursa (job #1432591) | Cod sursa (job #23008)
Cod sursa(job #23008)
#include<fstream.h>
int long mat[100][1000],m,n,r,c;
void rast()
{int long i,j,aux,ma[100][1000];
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
ma[i][j]=mat[j][i];
aux=n;n=m;m=aux;
aux=r;r=c;c=aux;
for(i=1;i<=m;i++)
for(j=1;j<=n;j++)
mat[i][j]=ma[i][j];
}
int main()
{int long aux,i,j,nr,s[1000],k,k1,max=0;
ifstream f("elimin.in");
f>>m>>n>>r>>c;
for(i=1;i<=m;i++)
for(j=1;j<=n;j++)
f>>mat[i][j];
if(m>n)
rast();
for(i=1;i<(1<<m);i++)
{for(j=0,nr=0;j<m;j++)
if(i&(1<<j))
nr++;
if(nr==r)
{memset(s,0,sizeof(s));
for(j=0,nr=0;j<m;j++)
if(!(i&(1<<j)))
for(k=1;k<=n;k++)
s[k]+=mat[j+1][k];
for(k=1;k<=n;k++)
for(k1=k+1;k1<=n;k1++)
if(s[k]<s[k1])
{aux=s[k];s[k]=s[k1];s[k1]=aux;}
for(k=1,nr=0;k<=n-c;k++)
nr+=s[k];
if(nr>max)
max=nr;
}
}
ofstream g("elimin.out");
g<<max;
g.close();
return 0;
}