Masala #U9WVKK1BDD
Ot!
Bu interaktiv vazifa. O'rdaklarni ovlashingiz kerak bo'lgan eski o'yinni eslaysizmi? Hozir jahon chempionati bo'lib o'tmoqda va Ahmadjon bosh sovrinni qo'lga kiritishni orzu qiladi. Ahmadjon g'alaba qozonishi uchun sizning yordamingiz zarur. Siz o'rdaklarni ovlovchi dastur tuzishingiz kerak.
O'yin katakchalardan iborat cheksiz ekranda sodir bo'ladi. O'rdak o'yinchiga noma'lum bo'lgan ma'lum bir katakchada.
O'yinchi har qanday katakchaga o'q uzishi mumkin. Agar u o'rdakni ursa, u sovrinni oladi va o'yin tugaydi. Agar u tekiza olmasa, o'rdak qo'rqib ketadi va otishmadan uchib ketishga harakat qiladi. Agar siz o'rdakdan pastroq chiziqni ursangiz, u holda o'rdak bir qator yuqoriga uchadi. Agar siz yuqoridagi chiziqqa tegsangiz, o'rdak bir qator pastga uchadi. Agar siz o'rdak turgan chiziqni urgan bo'lsangiz, unda chiziq o'zgarmaydi. Xuddi shunday qoidalar ustunlar uchun ham qo'llaniladi.
Otishdan keyin siz o'rdak uchgan katakchani bilmaysiz, lekin uning har bir o'q bo'ylab siljishini bilasiz. Sizning vazifangiz 63 ta dan kam bo'lgan o'q bilan g'alaba qozonishdir.
Har bir kadr alohida satrda navbati bilan satr va ustun sonini ko'rsatuvchi bo'sh joydan ajratilgan ikkita butun son i va j sifatida chiqariladi. O'yin maydoni cheksiz bo'lishiga qaramay, tortishish koordinatalari mutlaq qiymatda \(10^9\) dan oshmaydi.
Har bir zarbangizdan so'ng kirishga ikkita butun son \(d_i\) va \(d_j\) beriladi, bu mos ravishda o'rdak koordinatalari qatori va ustunidagi o'zgarishlarni anglatadi.
Agar bu raqamlarning ikkalasi ham nolga teng bo'lsa, unda siz o'rdakni urgan bo'lasiz va dasturni tugatishingiz kerak.
O'rdakning dastlabki koordinatalari absolyut qiymatda \(10^6\) dan oshmasligi kafolatlanadi.
Ko’pi bilan 63 ta so’rovdan foydalangan holda hakamlar hay’atining dasturi o’ylagan sonni izlab toping.
ESLATMA: Interaktiv masalada sizning javobingizni hakamlar hay’ati qabul qila olishi uchun siz har bir so’rovingiz oxirida
- Agar Pascal tilida ishlagan bo’lsangiz: flush(output)
- Agar C/C++ tilida ishlagan bo’lsangiz fflush(stdout) yoki cout.flush()
- Agar Java tilida ishlagan bo’lsangiz System.out.flush()
- Agar pythonda ishlagan bo’lsangiz sys.stdout.flush()
- Agar C# tilida ishlagan bo’lsangiz Console.Out.Flush()
buyruqlaridan birini yozishingiz kerak bo’ladi!
# | input.txt | output.txt |
---|---|---|
1 |
1 -1 1 1 0 1 0 0 |
1 2 2 -1 4 0 4 2 |