퍼레이드
시간 제한5초메모리 제한512 MB
각 도로를 하나씩 제거했을 때 최단 거리가 늘어나는 교차점 쌍의 수를 모든 도로에 대해 구한다.
문제
교차로 개와 도로 개로 이루어진 도시가 있다. 교차로에는 번부터 번까지, 도로에는 번부터 번까지 번호가 붙어 있다. 도로는 모두 양방향이고 서로 다른 두 교차로를 잇는다. 두 교차로를 잇는 도로는 많아야 하나다. 도시는 전부 이어져 있어서 어느 교차로에서든 도로를 따라 다른 교차로로 갈 수 있다.
시장은 도로 하나를 골라 그 도로에서 퍼레이드를 연다. 퍼레이드가 열리는 동안 그 도로는 지나갈 수 없다.
도시에는 교차로 쌍 마다 와 를 오가는 버스 노선이 하나씩 있고, 노선은 모두 개다. 퍼레이드가 열리는 도로를 뺀 그래프에서 구한 와 사이 최단 거리가 원래 최단 거리보다 길어지면 그 노선은 퍼레이드에 영향을 받는다. 퍼레이드 때문에 에서 로 갈 수 없게 되는 경우도 영향을 받는 것으로 센다.
각 도로에서 퍼레이드를 열었을 때 영향을 받는 버스 노선이 몇 개인지 도로마다 구하는 프로그램을 작성하시오.
입력
첫째 줄에 교차로의 개수 ()과 도로의 개수 ()이 주어진다.
둘째 줄부터 개 줄에 번 도로부터 번 도로까지 순서대로 도로의 정보가 주어진다. 각 줄에는 세 정수 from, to, time이 주어지며, from번 교차로와 to번 교차로를 오가는 데 time만큼 걸린다는 뜻이다. 두 교차로 번호는 이상 이하이고 서로 다르며, 걸리는 시간은 이상 이하다.
출력
번 도로부터 번 도로까지, 각 도로에서 퍼레이드가 열렸을 때 영향을 받는 버스 노선의 개수를 공백으로 구분해 한 줄에 출력한다.