• 11559 (Puyo Puyo)

    • 뿌요는 모두 ‘한 번에’ 터짐을 주의. 실제 코딩 시에는 각각 터뜨리다가 모든 보드의 원소에 대해 탐색이 끝나면 뿌요 내려오도록 구현
    • 뿌요 내리는 부분 구현 시 실수가 잦을 수 있음! 기존의 보드를 활용하는 것보다, 있는 뿌요만 모은 후에 아예 새로운 보드 만드는 방식으로 구현하는 편이 좋음.
    • 열을 끝에서부터 다루기 헷갈리므로 아예 보드 판을 회전시켜서 행을 다루는 것으로 코딩해도 좋음 (샘플코드 참고)
  • 18111 (마인크래프트)

    • 탐색 범위를 가장 낮은 땅 ~ 가장 높은 땅으로 하는게 효율적
    • (python) 소요 시간 계산 시, 2차원 배열로 돌리면 시간초과. 입력으로 들어오는 각 땅의 높이별 개수를 저장한 후 계산하는 방식으로 해야함
  • 10282 (해킹)

    • a가 b를 의존한다는 건 b가 감염된 후에 a가 감염된다는 의미. 따라서, b->a 방향으로 풀이
    • 감염 당한 컴퓨터 수와 시간은 다익스트라 내에서 처리 후 리턴하여 main에서 출력
  • 1504 (특정한 최단 경로)

    • INF처리 주의. 모든 경로 하나하나 INF인지 확인하거나 3*INF 확인하시도록
    • dist배열을 3*INF으로 초기화 해두면 깔끔하게 풀이 가능
    • 플로이드-워셜 가능하지만, 다익스트라 3번으로 유도
  • 1865 (웜홀)

    • 모든 정점마다 벨만-포드 돌린 풀이는 비효율적. 아래 링크 참조. 임시 정점 생겼다고 하고 모든 정점과 거리 0으로 연결해서 푸시도록 유도.

      글 읽기 - 풀이 및 논란 완전히 정리합니다.

  • 1719 (택배)

    • 시작 위치에서 '처음' 방문하는 경로를 저장해야 함을 유의
  • 합승 택시 요금

    • 경로 없는 경우 주의