top of page

소스 코드 제출

공개·회원 71명

2025.06.18

/*#include <stdio.h>

int m,n,arr[1010][1010]={},day=0,cnt=0,tom=0,visit[1010][1010]={};

int queue[3][2220000]={},front=-1,back=-1,p=0,a=0;

void push(int x, int y)

{

if(x<=-1||x>=n||y<=-1||y>=m||arr[x][y]!=0)

{

return ;

}

else

{

// printf("(%d %d),",x,y);

if(visit[x][y]==0)

{

queue[0][++back]=x;

queue[1][back]=y;

arr[x][y]=1;

visit[x][y]=1;

}

// printf("%d\n",back);

}

}

void bfs()

{

while(1)

{

front++;

int x=queue[0][front];

int y=queue[1][front];

push(x+1,y);

push(x-1,y);

push(x,y-1);

push(x,y+1);

// printf("front %d, p %d, back %d\n",front,p,back);

if(front==p)

{

break;

}

}

return ;

}

int main()

{

int i,j;

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

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

{

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

{

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

}

}

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

{

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

{

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

{

queue[0][++back]=i;

queue[1][back]=j;

visit[i][j]=1;

}

}

}

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

{

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

{

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

{

tom++;

}

}

}

// printf("a");

// printf("%d",tom);

while(1)

{

p=back;

bfs();

day++;

if(back>=tom-1||front==back)

{

break;

}

cnt=0;

}

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

{

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

{

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

{

printf("-1");

a=1;

break;

}

}

if(a==1)

{

break;

}

}

if(a==0)

{

printf("%d",day);

}

return 0;

}

*/

#include <stdio.h>

int n,k,arr[110000]={},visit[55][]

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