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.