QOJ.ac

QOJ

时间限制: 3.0 s 内存限制: 1024 MB 总分: 100 可 Hack ✓

#17268. إيفان تساريفيتش في الأيكة السحرية

统计

جاء إيفان تساريفيتش، في رحلة بحثه عن مقتل كوشي الخالد، إلى أيكة سحرية. وفقاً لبابا ياجا، توجد فيها $n$ شجرات بلوط حكيمة، من بينها بالضبط $k$ شجرات بلوط تقول الحقيقة دائماً، بينما تكذب البقية دائماً.

لمعرفة إلى أين يذهب بعد ذلك، يحتاج تساريفيتش إلى معرفة الطريق التالي من شجرات البلوط. ومع ذلك، يجب أن يكون حذراً للغاية، لأنه إذا اتبع نصيحة إحدى شجرات البلوط الكاذبة، فسوف يتيه في مستنقع حيث يتربص به ليخو الأعور.

لمعرفة أي شجرات البلوط يمكنه الوثوق بها، سأل إيفان كل شجرة بلوط سؤالاً بالصيغة: "أيتها البلوطة رقم $i$، أخبريني، هل البلوطة رقم $a_i$ تقول الحقيقة دائماً؟" ومع ذلك، لا يمكنه معرفة ما يجب فعله بالإجابات التي تلقاها.

ساعد إيفان تساريفيتش في استخلاص النتائج من الأسئلة. لكل شجرة بلوط، حدد ما إذا كانت تقول الحقيقة دائماً، أو تكذب دائماً، أو ما إذا كانت المعلومات غير كافية. إذا كانت بابا ياجا قد خدعت إيفان تساريفيتش ولا يوجد أي توزيع ممكن لشجرات البلوط يحقق بيانات الإدخال، فاطبع رقماً واحداً هو $-2$.

الإدخال

يحتوي السطر الأول على عددين صحيحين $n$ و $k$ ($1 \le n \le 5 \cdot 10^5$، $0 \le k \le n$)، يمثلان عدد شجرات البلوط وعدد الشجرات التي تقول الحقيقة دائماً من بينها، على التوالي.

يحتوي السطر الـ $i$ من الأسطر الـ $n$ التالية على عددين صحيحين $a_i$ و $b_i$ ($1 \le a_i \le n$، $0 \le b_i \le 1$)، مما يعني أن البلوطة رقم $i$ قد سُئلت عما إذا كانت البلوطة رقم $a_i$ تقول الحقيقة دائماً، وكانت الإجابة "نعم" إذا كان $b_i = 1$، أو "لا" خلاف ذلك.

الإخراج

إذا كانت بيانات الإدخال متناقضة، فاطبع عدداً صحيحاً واحداً هو $-2$.

خلاف ذلك، اطبع $n$ أعداد صحيحة $t_1, t_2, \dots, t_n$: الاستنتاجات حول ما إذا كانت شجرات البلوط تقول الحقيقة. يمكن أن تأخذ القيم التالية:

  • $t_i = 1$ إذا كانت البلوطة رقم $i$ تقول الحقيقة دائماً؛
  • $t_i = -1$ إذا كانت البلوطة رقم $i$ تكذب دائماً؛
  • $t_i = 0$ إذا كان من المستحيل تحديد ما إذا كانت البلوطة رقم $i$ تكذب دائماً أم تقول الحقيقة دائماً من البيانات المتاحة.

أمثلة

إدخال 1

6 4
2 0
1 0
3 1
3 0
3 0
6 1

إخراج 1

0 0 -1 1 1 1

إدخال 2

3 1
2 0
3 0
1 0

إخراج 2

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