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.