무자비한 최단 경로
시간 제한2초메모리 제한1024 MB
1번 마을에서 모든 마을까지의 최단 거리를 구하는 문제로, 도로는 좌표 차이의 최솟값과 z 합이 K로 나누어떨어지는 조건으로 정해집니다.
문제
신촌 초급반 학생들은 그래프에서 최단 경로를 구하는 여러 방법을 공부했다. 학생들에게 벽을 느끼게 하고 싶었던 djs100201은 무자비한 최단 경로 문제를 만들었다.
번부터 번까지 번호가 매겨진 개의 마을이 있다. 번째 마을의 위치는 로 표현된다. 이상 이하의 서로 다른 두 정수 에 대해, 번 마을과 번 마을을 잇는 길이 인 양방향 도로가 존재한다. 또한 가 로 나누어 떨어지면, 번 마을과 번 마을을 잇는 길이 인 양방향 도로도 존재한다.
이때 번 마을에서 각 마을까지의 최단 경로 길이를 모두 구해보자.
입력
첫째 줄에 정수 과 가 공백으로 구분되어 주어진다.
둘째 줄부터 개의 줄에 걸쳐 번째 줄에는 번 마을의 위치를 나타내는 세 정수 가 공백으로 구분되어 주어진다.
출력
총 줄에 걸쳐 답을 출력한다. 번째 줄에는 번 마을에서 번 마을까지 도착하는 최단 경로의 길이를 출력한다.