Pagini recente » Cod sursa (job #565278) | Cod sursa (job #1407719) | Cod sursa (job #952596) | Cod sursa (job #729146) | Cod sursa (job #6909)
Cod sursa(job #6909)
#include<stdio.h>
#include<conio.h>
main(){
FILE *in=fopen("elimin.in","rt"),*out=fopen("elimin.out","w+");
int m,n,r,c,i,j,a[100][100],tmp,re=0;
long s=0;;
clrscr();
fscanf(in,"%d %d %d %d",&m,&n,&r,&c);
for(i=0;i<m;i++)
for(j=0;j<n;j++)
fscanf(in,"%d",&a[i][j]);
for(j=0;j<n;j++){
for(i=0;i<m;i++)
s=s+a[i][j];
a[m+1][j]=s;s=0;a[m+2][j]=j;
}
re=0;
while(re==0){
re=1;
for(j=1;j<n;j++){
if(a[m+1][j-1]>a[m+1][j]){
re=0;
tmp=a[m+1][j-1];
a[m+1][j-1]=a[m+1][j];
a[m+1][j]=tmp;
tmp=a[m+2][j-1];
a[m+2][j-1]=a[m+2][j];
a[m+2][j]=tmp;
re=0;
}
}
}
for(j=0;j<c;j++){
for(i=0;i<m;i++){
tmp=a[m+2][j];
a[i][tmp]=0;
}
}
for(i=0;i<m;i++){
for(j=0;j<n;j++)
s=s+a[i][j];
a[i][n+1]=s;s=0;a[i][n+2]=i;
}
re=0;
while(re==0){
re=1;
for(i=1;i<m;i++){
if(a[i-1][n+1]>a[i][n+1]){
re=0;
tmp=a[i-1][n+1];
a[i-1][n+1]=a[i][n+1];
a[i][n+1]=tmp;
tmp=a[i-1][n+2];
a[i-1][n+2]=a[i][n+2];
a[i][n+2]=tmp;
re=0;
}
}
}
for(i=0;i<r;i++){
for(j=0;j<n;j++){
tmp=a[i][n+2];
a[tmp][j]=0;
}
}
s=0;
for(i=0;i<m;i++)
for(j=0;j<n;j++)
s=s+a[i][j];
fprintf(out,"%ld",s);
return 0;
}