점프
시간 제한2초메모리 제한512 MB
격자 위 타일에 도착하면 에너지를 얻고 이동에는 B가 들 때, 오른쪽이나 위로만 점프해 타일 N에 도착했을 때 남는 에너지의 최댓값을 구한다.
문제
2차원 평면에 타일 개가 놓여 있다. 번 타일의 좌표는 이고, 그 위에는 점프 에너지를 만큼 채워 주는 에너지 통이 하나 있다.
점프는 오른쪽 또는 위쪽으로만 한다. 타일 에서 타일 로 점프하려면 이면서 이거나(오른쪽), 이면서 여야 한다(위쪽). 두 타일이 서로 붙어 있을 필요는 없고, 같은 행이나 같은 열에서 그 방향에 있는 타일이면 어디로든 점프할 수 있다. 타일이 없는 곳으로는 점프하지 못한다.
점프를 한 번 할 때마다 에너지를 만큼 쓴다. 에너지가 보다 적으면 점프할 수 없다. 새 타일에 도착하면 곧바로 그 타일의 에너지 통을 얻어 에너지가 만큼 늘어난다.
출발 지점은 번 타일이고, 출발할 때 에너지는 이다. 번 타일에서 번 타일까지 점프해서 이동하되, 번 타일에 도착했을 때 남는 에너지를 최대로 만들어야 한다.
번 타일에 도착했을 때 가질 수 있는 최대 에너지를 구하는 프로그램을 작성하시오.
입력
첫째 줄에 테스트 케이스의 개수 가 주어진다. ()
각 테스트 케이스의 첫째 줄에는 두 정수 과 가 주어진다. (, )
이어지는 개 줄에는 번 타일부터 번 타일까지의 정보가 순서대로 주어진다. 각 줄에는 세 정수 , , 가 주어진다. (, )
좌표가 같은 타일은 없다. 에너지 규칙을 지키면서 번 타일에서 번 타일까지 갈 수 있는 점프 순서가 적어도 하나 존재한다.
출력
각 테스트 케이스마다 번 타일에 도착했을 때 가질 수 있는 최대 에너지를 한 줄에 하나씩 출력한다.