Masala #1057

Xotira 16 MB Vaqt 1000 ms Qiyinchiligi 40 %
14

  

Yuzani top

Ibrohim so'ngi kunlarda ishdagi muammolar tufayli grafika bilan ishlashiga to'g'ri keldi. Ko'p ishlab yuborganligi sababli hayolida har xil shakllar chiza boshladi. Endi u sizni qiynamoqchi. U tekislikda tomonlari koordinata o'qlariga parallel bo'lgan va koordinatalari boshi (0,0) nuqta uning ichida yoki tomonlarida yotuvchi to'g'ri to'rtburchakni tasavvur qildi. U sizdan u tassavvur qilgan to'rtburchak yuzini topishingizni so'rayapti. Qanday bema'nilik to'g'rimi? O'zing tasavvur qildingmi o'zing top-da! Lekin, unday desangiz Ibrohim xafa bo'lib qolishi mumkin. Keling shuning uchun unga buni topishda yordam beraylik. Bunda siz tekislikdagi ixtiyoriy nuqtani ″? X Y″ ko'rinishida so'raysiz, X va Y absolyut qiyamti milliarddan oshmaydigan butun sonlar. U sizga mos ravishda siz so'ragan nuqta to'rtburchak:

  • IN - ichida
  • OUT - tashqarisida
  • ON - ustida
  • CORNER - burchagida

deya javob qaytaradi.

Faqat so'rovlar soni 128 tadan oshmasligi kerak.


Kiruvchi ma'lumotlar:

Kirishi faylida so'rovga mos ravishda alohida qatorda:

  • IN - ichida
  • OUT - tashqarisida
  • ON - ustida
  • CORNER - burchagida

so'zlari chop etiladi.


Chiquvchi ma'lumotlar:

Chiqish faylida alohida qatorda ″? X Y″  ko'rinishida so'rovlar yuboriladi. \(-10^9 \le X, Y \le 10^9\). Javobni topgacha esa ″! ANS″ ko'rinishida javob yo'llaysiz.


Misollar
# input.txt output.txt
1
CORNER
CORNER
IN
OUT
CORNER
CORNER
? 0 0
? 0 5
? 2 2
? 10 10
? 5 5
? 5 0
! 25
Izoh:

1-testga izoh:

4 ta burchagini topib oldik demak u tomoni 5 bo'lgan to'rtburchak ekan.

  • 4 ta burchagini qanday topdingiz?
  • Chunki testlarni o'zim tuzganman:)
  • Biz qanday bilamiz?
  • Barcha sonlar uchun ishlaydigan dastur yozasiz.

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()

Buyruqlardan birini yozishingiz kerak bo’ladi!

Yechimini yuborish
Bu amalni bajarish uchun tizimga kiring, agar profilingiz bo'lmasa istalgan payt ro'yxatdan o'tishingiz mumkin