Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
문제 풀이 / 알고리즘 분류
12시 전 타임머신밖에 못 풀었습니다. 별로 고민해보지 않고 답 찾아 푸는건 의미가 없다 생각해서 더 봐야합니다. 15시 전 업데이트 예정
BOJ 11657 타임머신
우선 res에 모든 1번 도시로부터 모든 도시까지의 최단거리를 저장하기 위해 초기화를 합니다. 그 다음 무한 시간여행이 가능한지 확인하기 위한 cycle 변수를 만들어둡니다. 이제 입력받은 모든 도로들을 중심으로 확인하여 해당 도로를 이용하였을 때 거리가 짧아질 수 있는 도시에 대해서 모든 값을 업데이트해줍니다. 그러던 와중 N번만큼 돌았음에도 계속 업데이트가 되는 도시가 있다면 무한 시간여행이 되는 도시가 있다는 것이니 cycle을 true로 바꿔줍니다. 해당 과정을 통해 1번 도시에서 다른 도시까지의 최단거리를 모두 구할 수 있습니다.
PRGMS 49191 순위
순위를 매길 수 있는지 여부를 1과 -1로 표현합니다. 1의 경우 본인이 이긴 사람이며 -1의 경우 본인이 진 사람입니다. 그 다음에는 A가 B를 이겼는데 B가 C를 이겼으면 무조건 A가 C를 이긴다는 점을 이용해서 비교를 합니다. i, j, k 3개로 비교를 하는데 위 논리에 따라 세 명의 순위를 정할 수 있다면 정합니다. 그렇게 모든 사람들의 순위를 정하고 나면 순위를 정하지 못하는 사람들에 대해서는 초기값인 0만 남게되는데 이 경우 본인과의 순위는 정할 수 없으므로 본인의 결과에서 0이 1개인 사람들은 순위를 정확히 정할 수 있는 사람들이 되고 그게 아닌 사람들은 순위를 정하지 못한 사람들이 있다고 판단할 수 있는 근거가 됩니다.
BOJ 4485 녹색 옷 입은 애가 젤다지?
보자마자 다익스트라로 풀면 된다는 생각을 받았으나 처음에 어떤 식으로 그래프를 만들어줘야할지 고민이 됐습니다. heap으로 하라는 힌트 듣고 그냥 힙큐에 넣고 일반적인 다익스트라 적용하니까 금방 풀리네요. 힙큐를 쓴다는 생각을 자주 못하는 것 같습니다.
문제와 관련된 닌텐도 영상 하나 공유드리겠습니다. (https://www.youtube.com/watch?v=qXnJJyq7ydY)
이슈 & 질문