Hỏi & Đáp
다시 해보니 전역변수와 지역변수의 문제가 아니고 0이하와 10000초과된 값에 대한 예외처리가 안되어서 초과된 범위를 탐색해 발생한 문제였던 것 같습니다. 수정하니 지역변수로도 잘 동작했습니다. #include #include #include #include using namespace std; int steps[3] = {1, -1, 5}; // Checkpoints & Distances //int ch[10001] = { 0, }; //int dis[10001]; int main(void){ // freopen("input.txt", "rt", stdin); int s, e; scanf("%d %d", &s, &e); // Queue for BFS queue Q; // Checkpoints & Distances (Time out) int ch[10001] = { 0, }; int dis[10001]; // Start condition Q.push(s); ch[s] = 1; dis[s] = 0; int pos, x; // BFS for minimum distance while (!Q.empty() && ch[e] == 0){ x = Q.front(); Q.pop(); for (int i = 0; i 10000) continue; if (ch[pos] == 0){ Q.push(pos); ch[pos] = 1; dis[pos] = dis[x] + 1; } } } printf("%d", dis[e]); return 0; }
2020-08-30T07:26:38.538Z
Lượt thích
1
Số bình luận
2
Lượt xem
891