QOJ.ac

QOJ

Time Limit: 3.0 s Memory Limit: 1024 MB Total points: 100 Hackable ✓

#17268. Ivan Tsarevich di Hutan Ajaib

Statistics

Ivan Tsarevich, dalam pencariannya akan kematian Koschei sang Abadi, telah tiba di sebuah hutan kecil ajaib. Menurut Baba Yaga, terdapat $n$ pohon ek bijak di dalamnya, yang di antaranya tepat $k$ pohon ek selalu berkata jujur, sementara sisanya selalu berbohong.

Untuk mengetahui ke mana harus pergi selanjutnya, sang Tsarevich perlu mempelajari rute selanjutnya dari pohon-pohon ek tersebut. Namun, ia harus sangat berhati-hati, karena jika ia mengikuti saran dari salah satu pohon ek pembohong, ia akan tersesat ke dalam rawa tempat Likho bermata satu akan menyergapnya.

Untuk mengetahui pohon ek mana yang dapat ia percayai, Ivan telah mengajukan pertanyaan kepada setiap pohon ek dalam bentuk: "Pohon ek nomor $i$, katakan padaku, apakah pohon ek nomor $a_i$ selalu berkata jujur?" Namun, ia tidak tahu apa yang harus dilakukan dengan jawaban-jawaban yang telah ia terima.

Bantulah Ivan Tsarevich menarik kesimpulan dari pertanyaan-pertanyaan tersebut. Untuk setiap pohon ek, tentukan apakah pohon tersebut selalu berkata jujur, selalu berbohong, atau apakah informasinya tidak mencukupi. Jika Baba Yaga telah menipu Ivan Tsarevich dan tidak ada konfigurasi pohon ek yang mungkin yang memenuhi data masukan, keluarkan satu bilangan $-2$.

Masukan

Baris pertama berisi dua bilangan bulat $n$ dan $k$ ($1 \le n \le 5 \cdot 10^5$, $0 \le k \le n$), yang masing-masing menyatakan jumlah pohon ek dan berapa banyak di antaranya yang selalu berkata jujur.

Baris ke-$i$ dari $n$ baris berikutnya berisi dua bilangan bulat $a_i$ dan $b_i$ ($1 \le a_i \le n$, $0 \le b_i \le 1$), yang menyatakan bahwa pohon ek nomor $i$ telah ditanya apakah pohon ek nomor $a_i$ selalu berkata jujur, dan jawabannya adalah "ya" jika $b_i = 1$, atau "tidak" jika sebaliknya.

Keluaran

Jika data masukan saling bertentangan, cetak satu bilangan bulat $-2$.

Jika tidak, cetak $n$ bilangan bulat $t_1, t_2, \dots, t_n$: kesimpulan mengenai apakah pohon-pohon ek tersebut berkata jujur. Nilai-nilainya adalah sebagai berikut:

  • $t_i = 1$ jika pohon ek nomor $i$ selalu berkata jujur;
  • $t_i = -1$ jika pohon ek nomor $i$ selalu berbohong;
  • $t_i = 0$ jika tidak mungkin menentukan apakah pohon ek nomor $i$ selalu berbohong atau berkata jujur dari data yang tersedia.

Contoh

Masukan 1

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

Keluaran 1

0 0 -1 1 1 1

Masukan 2

3 1
2 0
3 0
1 0

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