Cod sursa(job #54955)

Utilizator anna_bozianuBozianu Ana anna_bozianu Data 26 aprilie 2007 08:10:07
Problema Castel Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 kb
#include<stdio.h>
int m,n,k,i,j,cit,x,y,w,sol,necx[152][152],necy[152][152],am[152][152],ok;
int main()
{
	FILE *f,*g;
	f=fopen("castel.in","r");
	g=fopen("castel.out","w");
	fscanf(f,"%d%d%d",&m,&n,&k);
	for(i=1;i<=m;i++)
	for(j=1;j<=n;j++)
	{ fscanf(f,"%d",&cit);
	  necx[i][j]=(cit-1)/n+1;
	  necy[i][j]=(cit-1)%n+1;
	}
	am[(k-1)/m+1][(k-1)%m+1]=1;
	ok=1;sol=1;
	while(ok)
	{ ok=0;
	  for(i=1;i<=m;i++)
	  for(j=1;j<=n;j++)
	  { w=(1-am[i][j])*(am[i+1][j]+am[i-1][j]+am[i][j-1]+am[i][j+1]);
	    if(w) { x=necx[i][j];y=necy[i][j];
		    if(am[x][y]) {am[i][j]=1;ok=1;sol++;}
		  }
	  }
	}
	fprintf(g,"%d\n",sol);
	fcloseall();
	return 0;
}