Pagini recente » Cod sursa (job #2075535) | Cod sursa (job #2001536) | Cod sursa (job #2209544) | Cod sursa (job #1029371) | Cod sursa (job #1154734)
#include <fstream>
using namespace std;
ifstream f("castel.in");
ofstream g("castel.out");
int q[2][150*150+1],m,n,v,lin,col,l,c,ok,p,u,a[151][151],viz[151][151],fr[150*150+1],i,j;
int dx[]={0,-1,1,0,0},dy[]={0,0,0,1,-1};
int main()
{
f>>n>>m>>v;
if(v%m==0){
lin=v/m;
col=m;
}else{
lin=v/m+1;
col=v%m;
}
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
f>>a[i][j];
p=u=1;
q[0][p]=lin;
q[1][p]=col;
ok=1;
fr[v]=1;
viz[lin][col]=1;
while(ok==1){
ok=0;
p=1;
while(p<=u){
for(i=1;i<=4;i++){
l=q[0][p]+dx[i];
c=q[1][p]+dy[i];
if(l>0&&c>0&&l<=n&&c<=m){
int v1=(l-1)*m+c;
if(viz[l][c]==0&&fr[a[l][c]]!=0){
ok=1;
q[0][++u]=l;
q[1][u]=c;
viz[l][c]=1;
fr[v1]=1;
}
}
}
p++;
}
}
g<<u;
return 0;
}