16946번 - 벽 부수고 이동하기 4
이해가 안되는 부분은 다음과 같습니다.
37번 째 줄의 int reg_cnt = 10을 int reg_cnt = 1 로 바꾸면 틀립니다.
reg_cnt 의 값에 따라 채점에서 틀렸습니다가 뜨는 %도 달라지는데 왜 그런지 모르겠습니다..
reg_cnt는 각 BFS 실행을 구별하기 위한 변수입니다.
//
reg_cnt = 1 이여도 일단 주어진 TC 및 게시판에 있는 제가 찾아본 TC는 다 통과하는 것을 확인했습니다.
문제는 다음과 같은 로직을 통해 구성했습니다.
* arr 배열 : 입력을 저장한 배열
* vis 배열 : 방문 여부 확인 및 0에 대한 BFS 값 저장 배열
* reg 배열 : 각 BFS의 지역 구별을 위한 숫자 저장하는 배열
1. arr 배열에서 0이 존재하는 경우 BFS를 적용한 뒤, 이 때 결과로 나온 '이동할 수 있는 칸의 수'를 0이 나온 모든 번지의 vis 배열에 저장합니다.
2. 이 때 지나친 모든 번지의 reg 배열에 각 BFS 구별을 위한 숫자를 저장합니다.
3. arr 배열을 순회하며 입력 1로 들어온 배열 일 때, 상하좌우의 저장된 vis 값을 sum에 더해줍니다.
4. 이 때, 상하좌우에 같은 번지의 BFS가 있는지 확인하고 이 경우 더하지 않습니다.
5. 이를 %10한 값으로 arr 배열을 변경합니다.
다음은 1,2를 통해 vis, reg 배열이 바뀌는 예시입니다. (입력으로 들어온 1은 구별을 위해 -1로 arr에 저장했습니다)
reg_cnt가 1로 초기화되면 왜 안되는지 알려주시면 감사하겠습니다!!!!!!
댓글을 작성하려면 로그인해야 합니다.
etyoungsu 1년 전
이해가 안되는 부분은 다음과 같습니다.
37번 째 줄의 int reg_cnt = 10을 int reg_cnt = 1 로 바꾸면 틀립니다.
reg_cnt 의 값에 따라 채점에서 틀렸습니다가 뜨는 %도 달라지는데 왜 그런지 모르겠습니다..
reg_cnt는 각 BFS 실행을 구별하기 위한 변수입니다.
//
reg_cnt = 1 이여도 일단 주어진 TC 및 게시판에 있는 제가 찾아본 TC는 다 통과하는 것을 확인했습니다.
//
문제는 다음과 같은 로직을 통해 구성했습니다.
//
* arr 배열 : 입력을 저장한 배열
* vis 배열 : 방문 여부 확인 및 0에 대한 BFS 값 저장 배열
* reg 배열 : 각 BFS의 지역 구별을 위한 숫자 저장하는 배열
//
1. arr 배열에서 0이 존재하는 경우 BFS를 적용한 뒤, 이 때 결과로 나온 '이동할 수 있는 칸의 수'를 0이 나온 모든 번지의 vis 배열에 저장합니다.
2. 이 때 지나친 모든 번지의 reg 배열에 각 BFS 구별을 위한 숫자를 저장합니다.
3. arr 배열을 순회하며 입력 1로 들어온 배열 일 때, 상하좌우의 저장된 vis 값을 sum에 더해줍니다.
4. 이 때, 상하좌우에 같은 번지의 BFS가 있는지 확인하고 이 경우 더하지 않습니다.
5. 이를 %10한 값으로 arr 배열을 변경합니다.
//
다음은 1,2를 통해 vis, reg 배열이 바뀌는 예시입니다. (입력으로 들어온 1은 구별을 위해 -1로 arr에 저장했습니다)
reg_cnt가 1로 초기화되면 왜 안되는지 알려주시면 감사하겠습니다!!!!!!