Universal Cup Judging System

Universal Cup

حد الوقت: 1.5 s حد الذاكرة: 512 MB مجموع النقاط: 100 قابلة للهجوم ✓
الإحصائيات

Yana, Mino, White và Huzz là những người bạn thân nhất của nhau.

Một ngày nọ, huấn luyện viên yêu cầu White, Mino và Huzz chuẩn bị một kỳ thi thử. Huzz đã thiết kế một bài toán tìm kiếm tuyệt đẹp có độ phức tạp hàm mũ theo $k$. Cậu đã kiểm tra kỹ lưỡng toàn bộ đề bài, ngoại trừ một chi tiết: cậu vô tình viết $k \le 5 \times 10^5$ thay vì $k \le 10$. Sau đó, bài toán này xuất hiện trong kỳ thi thử. Thí sinh giận dữ Yana đã tìm đến Huzz, hỏi xem bài toán này phải giải như thế nào. Nhưng Huzz dường như đã quên mất điều gì đó, và đề bài mà cậu đưa ra trông hơi khác một chút —

Bạn được cho một đồ thị có hướng gồm $n$ đỉnh và $m$ cạnh, trong đó mỗi cạnh $e$ được gán một trọng số nguyên $w(e)$ từ $1$ đến $8$.

Một đường đi là một dãy các cạnh $(e_1, e_2, \dots, e_\ell)$ sao cho điểm cuối của $e_i$ là điểm đầu của $e_{i+1}$ với mọi $1 \le i < \ell$. Độ dài của đường đi là $\ell$, tức số lượng cạnh mà nó chứa. Lưu ý rằng một đường đi có thể chứa cùng một cạnh nhiều lần.

Dãy trọng số của đường đi là dãy trọng số các cạnh $[w(e_1), w(e_2), \dots, w(e_\ell)]$. Các đường đi được so sánh theo thứ tự từ điển của dãy trọng số của chúng.

Hai đường đi được coi là phân biệt miễn là chúng sử dụng các cạnh khác nhau, ngay cả khi chúng có cùng dãy đỉnh và dãy trọng số. Ví dụ, nếu cả hai đường đi $(e_1, e_2)$ và $(e_3, e_4)$ đều có dãy trọng số [1,2], và đều đi qua các đỉnh $1 \to 2 \to 3$, chúng vẫn phân biệt miễn là $e_1 \neq e_3$ hoặc $e_2 \neq e_4$.

White muốn tìm $k$ đường đi có thứ tự từ điển nhỏ nhất. Vì tổng dữ liệu ra có thể quá lớn, bạn chỉ cần in ra độ dài của mỗi đường đi.

Dữ liệu

Dòng đầu tiên của dữ liệu vào chứa ba số nguyên $n, m, k$ ($2 \le n \le 5 \times 10^5, 1 \le m \le 5 \times 10^5, 1 \le k \le 5 \times 10^5$), lần lượt biểu thị số đỉnh, số cạnh và số lượng đường đi cần tìm.

Mỗi dòng trong $m$ dòng tiếp theo chứa ba số nguyên $x, y, z$ ($1 \le x, y \le n, 1 \le z \le 8, x \neq y$), biểu thị một cạnh có hướng $e = (x, y)$ với trọng số $w(e) = z$. Tập cạnh đã cho có thể chứa đa cạnh.

Kết quả

In ra $k$ dòng. Dòng thứ $i$ chứa một số nguyên duy nhất là độ dài của đường đi có dãy trọng số nhỏ thứ $i$ theo thứ tự từ điển. Nếu có ít hơn $i$ đường đi, hãy in ra $-1$ để thay thế.

Ví dụ

Dữ liệu

5 5 8
2 1 1
3 1 2
4 1 1
1 5 2
5 2 1

Kết quả

1
1
1
2
3
4
5
6

Dữ liệu

3 4 10
1 2 1
1 2 1
2 3 2
2 3 3

Kết quả

1
1
2
2
2
2
1
1
-1
-1

Dữ liệu

6 5 15
1 2 3
2 3 5
3 4 2
3 5 1
5 6 4

Kết quả

1
2
1
1
2
3
4
3
1
1
2
3
2
-1
-1

Giải thích

Để đơn giản, gọi $e_j$ là cạnh thứ $j$ trong dữ liệu vào.

Ở bộ test đầu tiên, $8$ đường đi có thứ tự từ điển nhỏ nhất là:

  • Đường đi $(e_1)$, dãy trọng số [1].
  • Đường đi $(e_3)$, dãy trọng số [1].
  • Đường đi $(e_5)$, dãy trọng số [1].
  • Đường đi $(e_5, e_1)$, dãy trọng số [1,1].
  • Đường đi $(e_5, e_1, e_4)$, dãy trọng số [1,1,2].
  • Đường đi $(e_5, e_1, e_4, e_5)$, dãy trọng số [1,1,2,1].
  • Đường đi $(e_5, e_1, e_4, e_5, e_1)$, dãy trọng số [1,1,2,1,1].
  • Đường đi $(e_5, e_1, e_4, e_5, e_1, e_4)$, dãy trọng số [1,1,2,1,1,2].

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.