본문 바로가기
Algorithm/BOJ

[BOJ]1039번: 교환

by BAYABA 2020. 8. 13.

 

문제: https://www.acmicpc.net/problem/1039


BFS 문제입니다. 예외조건 때문에 많이 틀렸네요.

 

세 가지 주의점이 있습니다.

 

1. 바뀐 후의 숫자가 0으로 시작하면 안됩니다.

2. 10,20,30처럼 두 자리수이면서 0으로 끝나는 숫자는 Swap하면 안됩니다.

(단, 100,1000,10000 같은 숫자들은 괜찮습니다. 0 끼리 바꾸면 되니까요)

3. 총 K번 Swap 회차만큼 Swap을 할텐데, 각 회차가 될 때 마다 방문배열을 초기화해줘야 합니다.

무슨 말이냐면 이전에 나왔던 숫자가 나중에 나와도 됩니다. 

이를 위해서 저는 매 루프를 while (!q.empty()) 가 아니라 while (q.size()--) 만큼만 돌았습니다.


코드: https://github.com/cottory/algorithm/blob/master/BOJ/BOJ1039.cc

'Algorithm > BOJ' 카테고리의 다른 글

[BOJ]3055번: 탈출  (0) 2020.08.14
[BOJ]5014번: 스타트링크  (0) 2020.08.13
[BOJ]4195번: 친구 네트워크  (0) 2020.08.11
[BOJ]16397번: 탈출  (0) 2020.08.06
[BOJ]9019번: DSLR  (0) 2020.07.30