Universal Cup Judging System

Universal Cup

Limite de temps : 1.5 s Limite de mémoire : 512 MB Points totaux : 100 Hackable ✓
Statistiques

Yana, Mino, White และ Huzz เป็นเพื่อนสนิทกัน

วันหนึ่ง โค้ชขอให้ White, Mino และ Huzz เตรียมการแข่งขันจำลอง Huzz ได้ออกแบบโจทย์การค้นหาที่งดงามซึ่งมีความซับซ้อนเป็นฟังก์ชันเอกซ์โพเนนเชียลเทียบกับ $k$ เขาตรวจสอบโจทย์ทั้งหมดอย่างละเอียด ยกเว้นรายละเอียดเดียวคือ เขาเผลอเขียน $k \le 5 \times 10^5$ แทนที่จะเป็น $k \le 10$ ต่อมาโจทย์ข้อนี้ปรากฏในการแข่งขันจำลอง ผู้เข้าแข่งขันที่กำลังโกรธเกรี้ยวอย่าง Yana จึงมาหา Huzz เพื่อถามว่าโจทย์ข้อนี้ควรจะแก้อย่างไร แต่ดูเหมือนว่าเขาจะลืมอะไรบางอย่างไป และโจทย์ที่เขาให้มานั้นดูแตกต่างออกไปเล็กน้อย —

คุณได้รับกราฟระบุทิศทางที่มี $n$ จุดยอดและ $m$ เส้นเชื่อม โดยแต่ละเส้นเชื่อม $e$ จะถูกกำหนดน้ำหนักที่เป็นจำนวนเต็ม $w(e)$ ระหว่าง $1$ ถึง $8$

วิถี (path) คือลำดับของเส้นเชื่อม $(e_1, e_2, \dots, e_\ell)$ ที่จุดปลายของ $e_i$ เป็นจุดเริ่มต้นของ $e_{i+1}$ สำหรับทุก $1 \le i < \ell$ ความยาวของวิถีคือ $\ell$ ซึ่งคือจำนวนเส้นเชื่อมที่อยู่ในวิถีนั้น สังเกตว่าวิถีหนึ่งอาจมีเส้นเชื่อมเดียวกันหลายครั้งได้

ลำดับน้ำหนักของวิถีคือลำดับของน้ำหนักเส้นเชื่อม $[w(e_1), w(e_2), \dots, w(e_\ell)]$ การเปรียบเทียบวิถีจะเปรียบเทียบตามลำดับพจนานุกรมของลำดับน้ำหนักของวิถีเหล่านั้น

วิถีสองวิถีจะถือว่าแตกต่างกันตราบใดที่ใช้เส้นเชื่อมต่างกัน แม้ว่าจะมีลำดับจุดยอดและลำดับน้ำหนักเหมือนกันก็ตาม ตัวอย่างเช่น หากทั้งวิถี $(e_1, e_2)$ และ $(e_3, e_4)$ มีลำดับน้ำหนักเป็น [1,2] และทั้งคู่ผ่านจุดยอด $1 \to 2 \to 3$ ทั้งสองวิถีก็ยังคงแตกต่างกันตราบใดที่ $e_1 \neq e_3$ หรือ $e_2 \neq e_4$

White ต้องการหาวิถี $k$ อันดับแรกที่มีลำดับพจนานุกรมน้อยที่สุด เนื่องจากข้อมูลส่งออกทั้งหมดอาจมีขนาดใหญ่เกินไป คุณจึงต้องแสดงเฉพาะความยาวของแต่ละวิถีเท่านั้น

ข้อมูลนำเข้า

บรรทัดแรกของข้อมูลนำเข้าประกอบด้วยจำนวนเต็มสามจำนวน $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$) แทนจำนวนจุดยอด จำนวนเส้นเชื่อม และจำนวนวิถีที่ต้องการ

แต่ละบรรทัดในอีก $m$ บรรทัดถัดไปประกอบด้วยจำนวนเต็มสามจำนวน $x, y, z$ ($1 \le x, y \le n, 1 \le z \le 8, x \neq y$) แทนเส้นเชื่อมระบุทิศทาง $e = (x, y)$ ที่มีน้ำหนัก $w(e) = z$ เซตของเส้นเชื่อมที่กำหนดอาจมีเส้นเชื่อมขนาน (multiple edges)

ข้อมูลส่งออก

พิมพ์ $k$ บรรทัด บรรทัดที่ $i$ ควรมีจำนวนเต็มเพียงตัวเดียว คือความยาวของวิถีที่มีลำดับน้ำหนักน้อยเป็นอันดับที่ $i$ ตามลำดับพจนานุกรม หากมีวิถีน้อยกว่า $i$ วิถี ให้พิมพ์ $-1$ แทน

ตัวอย่าง

ข้อมูลนำเข้า

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

ข้อมูลส่งออก

1
1
1
2
3
4
5
6

ข้อมูลนำเข้า

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

ข้อมูลส่งออก

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

ข้อมูลนำเข้า

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

ข้อมูลส่งออก

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

หมายเหตุ

เพื่อความง่าย ให้ $e_j$ แทนเส้นเชื่อมลำดับที่ $j$ ในข้อมูลนำเข้า

สำหรับชุดทดสอบแรก วิถี $8$ อันดับแรกที่มีลำดับพจนานุกรมน้อยที่สุดคือ:

  • วิถี $(e_1)$, ลำดับน้ำหนัก [1].
  • วิถี $(e_3)$, ลำดับน้ำหนัก [1].
  • วิถี $(e_5)$, ลำดับน้ำหนัก [1].
  • วิถี $(e_5, e_1)$, ลำดับน้ำหนัก [1,1].
  • วิถี $(e_5, e_1, e_4)$, ลำดับน้ำหนัก [1,1,2].
  • วิถี $(e_5, e_1, e_4, e_5)$, ลำดับน้ำหนัก [1,1,2,1].
  • วิถี $(e_5, e_1, e_4, e_5, e_1)$, ลำดับน้ำหนัก [1,1,2,1,1].
  • วิถี $(e_5, e_1, e_4, e_5, e_1, e_4)$, ลำดับน้ำหนัก [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.