Pagini recente » Istoria paginii utilizator/motty | Monitorul de evaluare | Cod sursa (job #384484) | Cod sursa (job #75098) | Cod sursa (job #118712)
Cod sursa(job #118712)
//0001
#include<stdio.h>
int x,nr,i,j,c,n,i2,s,j2,r,m,k,l,max;
int v[100],v2[100],a[100][100],b[100][100],d[100][100];
int main(){
FILE *f=fopen("elimin.in","r");
fscanf(f,"%d%d%d%d",&n,&m,&r,&c);
for(i=1;i<=n;i++){
for(j=1;j<=m;j++){
fscanf(f,"%d",&a[i][j]);
}
}
fclose(f);
int ma=0;
for(i2=0;i2<=(1<<m)-1;i2++){
nr=0;
for(j2=m-1;j2>=0;j2--){
v2[j2+1]=(i2>>j2)&1;
if(v2[j2+1]==1)nr++;
}
if(nr==c){
ma++;
for(i=1;i<=m;i++){d[ma][i]=v2[i];
}
}
}
for(i=0;i<=(1<<n)-1;i++){
nr=0;
for(j=n-1;j>=0;j--){
v[j+1]=(i>>j)&1;
if(v[j+1]==1)nr++;
}
if(nr==r){
/*for(i2=0;i2<=(1<<m)-1;i2++){
nr=0;
for(j2=m-1;j2>=0;j2--){
v2[j2+1]=(i2>>j2)&1;
if(v2[j2+1]==1)nr++;
}
if(nr==c){*/
for(x=1;x<=ma;x++){
for(k=1;k<=n;k++){
if(v[k]==1){
for(l=1;l<=m;l++){
b[k][l]=0;
}
}
else
for(l=1;l<=m;l++){
b[k][l]=a[k][l];
}
}
s=0;
for(l=1;l<=m;l++){
if(d[x][l]==1){
for(k=1;k<=n;k++){
b[k][l]=0;
}
}
else
for(k=1;k<=n;k++){
//b[k][l]=b[k][l];
s+=b[k][l];
}
}
if(s>max)max=s;
//}
}
}
}
FILE *g=fopen("elimin.out","w");
fprintf(g,"%d\n",max);
fclose(g);
return 0;
}