Pagini recente » Cod sursa (job #1340117) | Cod sursa (job #2738210) | Cod sursa (job #889183) | Cod sursa (job #141921) | Cod sursa (job #144092)
Cod sursa(job #144092)
#include<stdio.h>
int ok,viz[20000],ka,ce[20000],j,x,y,n,m,k,i,p,u,c[20000],a[20000],d[5]={-1,1};
int main(){
FILE *f=fopen("castel.in","r");
fscanf(f,"%d %d %d",&n,&m,&k);
for(i=1;i<=n*m;i++){
fscanf(f,"%d",&a[i]);
}
fclose(f);
c[1]=k;
a[k]=-1;
ce[k]=1;
viz[k]=-1;
d[2]=m;
d[3]=m;
p=1;
u=1;
while(p<=u){
ok=0;
for(i=0;i<=3;i++){
if( ce[ a[c[p]+d[i]] ]==1&&viz[c[p]+d[i]]!=-1&&c[p]+d[i]>=1&&c[p]+d[i]<=n*m){
u++;
c[ u ]=c[p]+d[i];
viz[c[p]+d[i]]=-1;
ce[ c[p]+d[i]]=1;
ok=1;
}
}
if(ok)p=0;
p++;
}
FILE *g=fopen("castel.out","w");
fprintf(g,"%d",u);
fclose(g);
return 0;
}