kyungmin2579   2년 전

질문게시판에 있는 여러 테스트케이스 해봤는데 잘 돌아가네요...
왜틀렸을까요???

sgchoi5   2년 전

1) TC 가 여러 개일 때 입력 받고 출력 하고, 입력 받고 출력 해도 됩니다. input / output stream 은 개별로 존재한다고 보시면 되어요.

2) 보통 4 방향 처리는

int dy[4] = {-1, 0, 1, 0}

int dx[4] = {0, 1, 0, -1} 와 같이 선언해두고,

for (int i = 0; i < 4; i++) {

int newY = y + dy[i];

int newX = x + dx[i];

if (newY < 0 || newX < 0 || newY >= N || newX >= M)

    continue;

// array[newX][newY] 시에 문제가 없는 경우에 대해서 처리

...

}

코드를 보면 graph[][] 에 사용되는 값이 유효한 값이 아닌 경우가 존재하게 됩니다.

이 경우에 어떤 값이 있을지 보장이 안되어서 문제가 되는게 아닌가 싶네요.......

sukwoo0711   2년 전

@kyungmin2579

문제에 배열크기보다 +1씩  크게 잡으시고 돌려주세요.

배열이 초과하면서 에러나는거 같네요.

#define MAX 50

int map[MAX+1][MAX+1];

...

그렇게 돌리시면 AC 나올겁니다.  

 

댓글을 작성하려면 로그인해야 합니다.