Pagini recente » Cod sursa (job #1685242) | Cod sursa (job #2557830) | Cod sursa (job #275513) | Cod sursa (job #1186849) | Cod sursa (job #524683)
Cod sursa(job #524683)
#include<stdio.h>
#include<string.h>
FILE *fin,*fout;
int n,i,j,a[301][301],l,c,lin[301],col[301],p,w[301];
void minim(){
int min=1000000,minl,minc,i,j;
for(i=l;i<=n;i++){
for(j=c;j<=n;j++){
if(a[i][j]<min){
min=a[i][j];
minl=i;
minc=j;
}
}
}
l=minl;
c=minc;
}
int main(){
fin=fopen("grozavesti.in","r");
fout=fopen("grozavesti.out","w");
fscanf(fin,"%d\n",&n);
for(i=1;i<=n;i++){
for(j=1;j<=n;j++){
fscanf(fin,"%d",&a[i][j]);
}
}
int t=0;
for(i=1;i<n;i++){
l=i;
c=i;
minim();
if(l!=i){
p++;
}
if(c!=i){
p++;
}
memcpy(w,a[l],sizeof(w));
memcpy(a[l],a[i],sizeof(a[i]));
memcpy(a[i],w,sizeof(a[i]));
for(j=i;j<=n;j++){
t=a[j][i];
a[j][i]=a[j][c];
a[j][c]=t;
}
lin[i]=l;
col[i]=c;
}
fprintf(fout,"%d",p);
for(i=1;i<n;i++){
if(lin[i]!=i){
fprintf(fout,"\nL %d %d",i,lin[i]);
}
if(col[i]!=i){
fprintf(fout,"\nC %d %d",i,col[i]);
}
}
return 0;}