Pagini recente » Cod sursa (job #1129877) | Cod sursa (job #2376559) | Cod sursa (job #2863323) | Cod sursa (job #322277) | Cod sursa (job #262810)
Cod sursa(job #262810)
#include<stdio.h>
FILE *f=fopen("castel.in","r");
FILE *g=fopen("castel.out","w");
int main()
{int i,j,v[100],M,N,K,p=1,q,ok,C[100],a[10][10],b[10][10],x,y;
fscanf(f,"%d %d %d",&M,&N,&K);
for(i=1;i<=M;i++)
for(j=1;j<=N;j++) fscanf(f,"%d",&a[i][j]);
for(i=1;i<=M;i++)
for(j=1;j<=N;j++) {b[i][j]=p;
p++;}
p=0;
q=0;
ok=1;
for(i=1;i<=M && ok==1;i++)
for(j=1;j<=N && ok==1;j++) if(b[i][j]==K) { C[++p]=b[i][j];
v[++q]=i;
v[++q]=j;
ok=0;
}
for(i=1;i<=p;i++)
for(j=1;j<=q;j=j+2) {x=v[j];
y=v[j+1];
if(a[x][y-1]==C[i]) {C[++p]=b[x][y-1];
v[++q]=x;
v[++q]=y;}
if(a[x][y+1]==C[i]) {C[++p]=b[x][y+1];
v[++q]=x;
v[++q]=y;}
if(a[x+1][y]==C[i]) {C[++p]=b[x+1][y];
v[++q]=x;
v[++q]=y;}
if(a[x-1][y]==C[i]) {C[++p]=b[x-1][y];
v[++q]=x;
v[++q]=y;}
}
for(i=1;i<=p;i++) fprintf(g,"%d ",C[i]);
fclose(f);
fclose(g);
return 0;
}