QOJ.ac

QOJ

Time Limit: 1 s Memory Limit: 1024 MB Total points: 100

#4632. Карточный шулер

Statistics

На столе лежат $n$ колод карт. В $i$-й колоде $a_i$ карт, а $j$-я карта сверху обозначается $s_{i,j}$. Для упрощения задачи будем считать, что карты бывают только старшими и младшими. Если карта старшая, то $s_{i,j}=1$. Если младшая, то $s_{i,j}=0$.

За столом сидят $m$ игроков, ожидающих карточной игры. Вы раздаёте карты, и ваша задача — сложить все колоды в одну большую стопку. Вы можете управлять только порядком колод. Нельзя добавлять или убирать карты, а также менять порядок карт внутри колоды.

После составления стопки карты будут розданы игрокам. $i$-й игрок получит $i$-ю, $(m+i)$-ю, $(2m+i)$-ю, $\ldots$, $(km+i)$-ю, $\ldots$ карту сверху. Другие игроки не знают, что $b$-й игрок на самом деле ваш босс. Для обеспечения победы все карты, выданные боссу, должны быть старшими, а все карты, выданные остальным игрокам, — младшими.

Найдите порядок укладки колод, удовлетворяющий этому требованию, или сообщите, что это невозможно. Если допустимый ответ существует, укажите лексикографически наименьший ответ.

Ответ, если он существует, очевидно, является перестановкой длины $n$. Говорят, что перестановка $P=p_1,p_2,\ldots,p_n$ лексикографически меньше перестановки $Q=q_1,q_2,\ldots,q_n$, если существует целое число $t$, такое что $p_i=q_i$ для всех $1\le i<t$ и $p_t<q_t$.

Входные данные

Каждый тестовый файл содержит только один набор входных данных.

Первая строка входных данных содержит три целых числа $n$, $m$ и $b$ ($1\le n\le2\times10^5$, $2\le m\le2\times10^5$, $1\le b\le m$), обозначающих количество колод, количество игроков и номер босса.

В следующих $n$ строках $i$-я строка содержит строку $s_{i,1}s_{i,2}\cdots s_{i,a_i}$ ($s_{i,j}\in\{0,1\}$, $1\le a_i\le10^6$), описывающую $i$-ю колоду.

Гарантируется, что:

  • В каждой колоде есть хотя бы одна старшая карта.

  • Общее количество карт делится на $m$.

  • Общее количество карт не превышает $10^6$.

Выходные данные

Если допустимый ответ существует, выведите $n$ целых чисел $d_1,d_2,\ldots,d_n$, разделённых пробелами и задающих лексикографически наименьший ответ, где $d_i$ — номер $i$-й колоды в стопке сверху вниз.

Если допустимого ответа нет, выведите только «-1» (без кавычек).

Примеры

Входные данные 1

5 4 3
0100010
00100
001000100
0010
0100010

Выходные данные 1

2 1 3 5 4

Входные данные 2

4 2 1
010
10101
010
10101

Выходные данные 2

2 1 4 3

Входные данные 3

1 5 3
001000010000100

Выходные данные 3

1

Входные данные 4

2 5 3
01000
00010

Выходные данные 4

-1

Входные данные 5

1 5 3
11111

Выходные данные 5

-1

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.