Cod sursa(job #54973)

Utilizator anna_bozianuBozianu Ana anna_bozianu Data 26 aprilie 2007 08:52:54
Problema Castel Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.85 kb
#include<stdio.h>
int m,n,k,i,j,cit,x,y,w,sol,necx[15][15],necy[152][152],am[152][152],conect[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;
	}
	x=(k-1)/n+1;y=(k-1)%n+1;conect[x][y]=1;
	conect[x+1][y]=1;
	conect[x-1][y]=1;
	conect[x][y-1]=1;
	conect[x][y+1]=1;
	ok=1;sol=1;
	while(ok)
	{ ok=0;
	  for(i=1;i<=m;i++)
	  for(j=1;j<=n;j++)
	  { if(conect[i][j]-am[i][j])
	     { x=necx[i][j];
	       y=necy[i][j];
	       if(am[x][y])
		 {am[i][j]=1;
		  conect[i+1][j]=1;
		  conect[i-1][j]=1;
		  conect[i][j-1]=1;
		  conect[i][j+1]=1;
		  ok=1;
		   sol++;
		  }
	     }
	  }
	}
	fprintf(g,"%d\n",sol);
	fcloseall();
	return 0;
}