Problem hidden
|This problem was hidden by Editorial Board member probably because it has incorrect language|version or invalid test data, or description of the problem is not clear.|

GOHOME - Xách valy về nước

Kì thi lập trình sinh viên ACM-ICPC kết thúc cũng là lúc ktuanmicrosoft trở về Việt Nam ăn Noel. Sau khi gói gém xong đồ đạc, cả hai đồng ý với nhau sẽ đi MRT (Mass Rapid Transit, hệ thống xe điện ở Singapore) từ NTU ra sân bay Changi. Hai bạn quyết định mang đi một số đồng xu để trả tiền MRT, các đồng xu gồm nhiều mệnh giá khác nhau, mỗi mệnh giá bao gồm 1 số lượng đồng xu nhất định và thỏa mãn điều kiện:

  • Mỗi đồng xu có mệnh giá là một số nguyên dương
  • Tổng giá trị của tất cả các đồng xu là S
  • Mọi số tiền trong đoạn 1 -> S đều chỉ có duy nhất một cách dùng các đồng xu mang theo để trả. Ví dụ với S = 5, những cách mang tiền đi là (1, 2, 2), (1, 1, 1, 1, 1) và (1, 1, 3). Những cách mang tiền không đúng ý của hai bạn là : (1, 1, 1, 2) vì số tiền 2 có thể trả bằng (1, 1) hoặc (2) ; số tiền 3 cũng có thể trả bằng (1, 1, 1) và (1, 2).

Trên đường đi hai bạn phải đi qua một số trạm (NTU và sân bay Changi cũng là trạm MRT), và để đi từ trạm này đến trạm khác hai bạn sẽ phải trả phí. Tuy nhiên cách thức thu phí ở Singapore cũng khá lạ đời. Nếu có chuyến MRT từ trạm X đến trạm Y thì phí của chuyến này là FXY, tuy nhiên bạn không cần phải trả số tiền FXYphải chọn một loại mệnh giá xu bạn đang có trên tay sao cho còn lại đúng FXY đồng xu mệnh giá này và trả hết số xu mệnh giá đó.

Yêu cầu: Không cho biết các mệnh giá xu và số lượng xu mang đi, hãy giúp hai bạn chọn các đồng xu thỏa mãn điều kiện ở trên và hai bạn có thể dùng các đồng xu này để có thể ra sân bayđi qua ít trạm MRT nhất. Hai bạn không muốn mang xu lên máy bay nên họ muốn sử dụng hết số xu mang đi.

Dữ liệu

  • Dòng đầu tiên gồm 5 số tự nhiên N, M, NTU, CHANGI và S. Với N là số trạm MRT, M là số chuyến MRT giữa các trạm, NTU là chỉ số của NTU, CHANGI là chỉ số của sân bay Changi và S là tổng giá trị của số tiền hai bạn muốn mang đi.
  • M dòng tiếp theo, mỗi dòng gồm 3 số tự nhiên X, Y và FXY. Có nghĩa là có chuyến MRT từ trạm X đến trạm Y, và tất cả số đồng xu cùng loại phải trả trên chuyến này là FXY.

Kết quả

  • Ghi ra một số duy nhất là số trạm MRT ít nhất các bạn cần phải đi qua để đi từ NTU đến sân bay hoặc -1 nếu không có cách nào cho hai bạn ra sân bay được với những yêu cầu oái oăm về xu của họ.

Giới hạn

  • 2 ≤ N ≤ 1000, 1 ≤ M ≤ 10000, 1 ≤ NTU, CHANGI ≤ N và NTU ≠ CHANGI
  • 1 ≤ S ≤ 109
  • 0 ≤ FXY ≤S với X ≠ Y

Ví dụ

Dữ liệu
4 5 1 4 5
1 2 1
1 3 2
2 4 2
3 4 1
1 4 5	

Kết quả
2

Giải thích

Có 3 cách mang xu thỏa mãn yêu cầu của hai bạn là : Cách 1 (5 đồng 1 xu) sẽ giúp hai bạn đi thẳng từ 1->4. Cách 2 (1 đồng 1 xu, 2 đồng 2 xu) và cách 3 (2 đồng 1 xu và 1 đồng 3 xu) sẽ giúp hai bạn đi đường 1->2->4 hoặc 1->3->4. Đường đi ngắn nhất mà sử dụng hết xu là 1->4.

Hạn chế

  • Có 50% số test thỏa mãn N ≤ 100.

Được gửi lên bởi:Jimmy
Ngày:2009-02-13
Thời gian chạy:0.200s-0.400s
Giới hạn mã nguồn:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Ngôn ngữ cho phép:Tất cả ngoại trừ: ERL GOSU JS-RHINO NODEJS PERL6 PYPY RUST SED VB.NET
Nguồn bài:VNOI Online Informatics Olympiad '09
Day 2

hide comments
2009-02-16 11:55:38 Victor
I think this problem is uncomfortable for solving in three hours only as a contest.
2009-02-16 09:03:42 Thiêm Nguyễn
OMG, what a super difficult problem :|
© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.