QOJ.ac

QOJ

حد الوقت: 3 s حد الذاكرة: 1024 MB مجموع النقاط: 100

#1828. Nhật ký hành trình

الإحصائيات

Sau một thời gian dài xa cách, Alice và Bob đã đoàn tụ. Họ sống tại một đất nước có $n$ thành phố, được đặt tên một cách sáng tạo từ thành phố 1 đến thành phố $n$. Bob đã lái xe từ nhà mình ở thành phố 1 đến nhà Alice ở thành phố $n$.

Khi Alice hỏi Bob về con đường anh đã đi, cô rất ngạc nhiên khi thấy anh không nhớ rõ. Bob là người làm việc hiệu quả, anh lái xe không nghỉ và biết rằng không có con đường nào nhanh hơn con đường anh đã đi. Anh cũng có một chiếc TraveLog mới tinh của Công ty Phiêu lưu Quốc gia (NAC)! Mỗi khi Bob lái xe qua một thành phố, TraveLog sẽ ghi lại khoảng thời gian từ lúc anh rời thành phố 1 cho đến khi anh đến thành phố hiện tại.

Trong sơ đồ trên, có hai con đường nhanh nhất có thể mà Bob có thể đi từ thành phố 1 đến thành phố $n$: $1 \to 2 \to 3 \to 5$ hoặc $1 \to 4 \to 5$. Cả hai con đường đều mất tổng cộng 9 đơn vị thời gian. Con đường đầu tiên sẽ có TraveLog là 0, 3, 7, 9, và con đường thứ hai sẽ có TraveLog là 0, 5, 9.

Thật không may, bộ nhớ trong TraveLog của Bob đã bị hỏng. Bob nghĩ rằng một số mốc thời gian đã mất, và các mốc thời gian còn lại bị xáo trộn một cách ngẫu nhiên. Với những gì còn sót lại trong TraveLog, bạn có thể khôi phục lại con đường của Bob không?

Dữ liệu vào

Dòng đầu tiên của dữ liệu vào chứa ba số nguyên $n$ ($2 \le n \le 2 \cdot 10^5$), $m$ ($1 \le m \le 3 \cdot 10^5$) và $d$ ($1 \le d \le n$), trong đó $n$ là số lượng thành phố trong đất nước, $m$ là số lượng đường một chiều giữa các thành phố, và $d$ là số lượng mốc thời gian còn lại trong TraveLog bị hỏng của Bob. Các thành phố được đánh số từ 1 đến $n$. Bob sống ở thành phố 1, và Alice sống ở thành phố $n$.

Mỗi dòng trong số $m$ dòng tiếp theo chứa ba số nguyên $u, v$ ($1 \le u, v \le n, u \neq v$) và $h$ ($1 \le h \le 10^6$). Mỗi dòng mô tả một con đường một chiều từ thành phố $u$ đến thành phố $v$ mất $h$ đơn vị thời gian để đi qua. Đảm bảo rằng luôn có ít nhất một con đường từ thành phố 1 đến thành phố $n$. Có thể có nhiều con đường giữa bất kỳ cặp thành phố nào.

Mỗi dòng trong số $d$ dòng tiếp theo chứa một số nguyên $t$ ($0 \le t \le 10^{18}$). Đây là những gì còn lại trong TraveLog của Bob. Mỗi dòng là một bản ghi về khoảng thời gian Bob đã lái xe từ thành phố 1 đến một thành phố khác trên con đường của mình. Các giá trị này được đảm bảo là phân biệt.

Dữ liệu ra

Định dạng đầu ra phụ thuộc vào số lượng con đường phù hợp với TraveLog của Bob.

  • Nếu không có con đường nào phù hợp với TraveLog của Bob, in ra 0.
  • Nếu có nhiều con đường phù hợp với TraveLog của Bob, in ra 1.
  • Nếu không, trên dòng đầu tiên, in ra số lượng thành phố trên con đường của Bob. Trên các dòng tiếp theo, in ra các thành phố mà Bob đã đi qua, mỗi thành phố trên một dòng, theo thứ tự anh đã ghé thăm.

Ví dụ

Ví dụ 1

5 5 2
1 2 3
2 3 4
3 5 2
1 4 5
4 5 4
5
9
3
1
4
5

Ví dụ 2

6 8 2
1 2 1
2 3 2
3 6 8
1 4 3
4 5 4
5 6 4
5 2 7
1 6 13
0
3
1

Ví dụ 3

2 1 1
1 2 10
5
0

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.