top of page

소스 코드 제출

공개·회원 50명

250704

#include <stdio.h>

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

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

void push(int k, int u)

{

back++;

queue[1][back]=k;

queue[2][back]=u;

}

int pop()

{

front++;

return queue[1][front];

}

int pup()

{

frunt++;

return queue[2][frunt];

}

int main()

{

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

scanf("%d %d", &n, &m);

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

{

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

{

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&&back!=front)

{

d=0;

p=pop();

q=pup();

if(arr[p][q]==0)

{

arr[p][q]=1;

push(p+1, q);

push(p, q+1);

push(p-1, q);

push(p, q-1);

sum++;

}

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

{

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

{

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

{

d++;

}

}

}

if(d==n*m)

{

break;

}

}

printf("%d", sum);

return 0;

}

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