Cod sursa(job #54880)

Utilizator razvi9Jurca Razvan razvi9 Data 25 aprilie 2007 21:54:33
Problema Castel Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 kb
#include<stdio.h>
int a[151][151],c[150*150+1],v[151][151],ok,i,j,n,m,k;
int main()
{freopen("castel.in","r",stdin);
 freopen("castel.out","w",stdout);
 scanf("%d %d %d",&n,&m,&k);
 for(i=1;i<=n;i++)   for(j=1;j<=m;j++)    scanf("%d",&v[i][j]);
 j=k%m;
 if(!j) j=m;
 i=(k-j)/m+1;
 c[k]=1;
 a[i][j]=1;
 for(ok=1;ok;)
 {ok=0;
  for(i=1;i<=n;i++)
   for(j=1;j<=m;j++)
    if(!a[i][j])
     if(c[v[i][j]]&&(a[i+1][j]||a[i-1][j]||a[i][j+1]||a[i][j-1]))
      {ok=1;
       a[i][j]=1;
       c[(i-1)*m+j]=1;}}
 k=0;
 for(i=1;i<=n;i++)
  for(j=1;j<=n;j++)
   if(a[i][j]) k++;
 printf("%d",k);
 fclose(stdout);
 return 0;}