top of page

소스 코드 제출

공개·회원 72명

250709

#include<stdio.h>

int arr[1100][1100]= {}, queue[3][10000]= {}, v[1000]= {};

int back=-1, front=-1, frunt=-1;

void push(int k, int p)

{

back++;

queue[1][back]=k;

queue[2][back]=p;

}

int pop()

{

front++;

return queue[1][front];

}

int pup()

{

return queue[2][front];

}

int main()

{

int n, m, i, j, d=0, sum=0, p, q;

for(i=1; i<=n; i++)

{

for(j=1; j<=m; i++)

{

scanf("%d", &arr[i][j]);

}

}

for(i=1; i<=n; i++)

{

for(j=1; j<=m; j++)

{

if(arr[i][j]==1)

{

push(i, j);

}

}

}

while(back!=front)

{

d=0;

p=pop();

q=pup();

if(p<1||p>=n||q>=m||q<1||arr[p][q]==-1)

{

break;

}

arr[p][q]=1;

push(p+1, q);

push(p, q+1);

push(p-1, q);

push(p, q-1);

sum++;

printf("BFS(%d, %d)", p, q);

}


printf("%d", sum);

return 0;

}

// for(i=1; i<=n; i++)

// {

// for(j=1; j<=m; j++)

// if(arr[i][j]==1)

// {

// d++;

// }

// }

// if(d==n*m)

// {

// break;

// }

3회 조회
주소 : 경기도 용인시 광교중앙로 302 블루 스퀘어 602호
연락처 : 031) 216 - 1546 ,     031) 215 - 1546
사업자등록번호 : 465-92-00916
​학원 등록 제 4603호
bottom of page