Universal Cup Judging System

Universal Cup

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

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$.

Путём называется последовательность рёбер $(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$. Данный набор рёбер может содержать кратные рёбра.

Формат выходных данных

Выведите $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.