1797: Квадрат чи прямокутник

Перегляд у форматі PDF

Надіслати розв'язок

Бали: 50,00 (partial)
Time limit: 0.25s
Memory limit: 250M
Input: stdin
Output: stdout

Author:
Problem type
Allowed languages
Assembly, Awk, Brain****, C, C++, Java, mono C#, Pascal, Perl, Python, Sed, Text, vb

Еолімп пропонує вам зіграти з тестувальною системою в цікаву інтерактивну гру <<Квадрат чи прямокутник>>.

В Еолімпа є квадратна дошка розміром ~100 \times 100~ клітинок. Рядки дошки пронумеровані цілими числами від ~1~ до ~100~ зверху донизу, а стовпчики --- цілими числами від ~1~ до ~100~ зліва направо. Відповідно, клітинка, яка знаходиться у лівому верхньому куті дошки, має координати ~(1,\,1)~; клітинка, яка знаходиться у правому нижньому куті, має координати ~(100,\,100)~; а клітинка, яка знаходиться на перетині ~i~-го рядка та ~j~-го стовпчика, має координати ~(i,\,j)~.

Еолімп зафарбовує прямокутну ділянку дошки, верхній лівий кут якої має координати ~(x_1,\,y_1)~, а правий нижній --- ~(x_2,\,y_2)~. Ці координати Еолімп тримає в таємниці. Але відомо, що площа зафарбованої ділянки займає не менш ніж 4\% від площі всієї дошки.

Про будь-яку клітинку ви можете спитати в Еолімпа (чи належить вона зафарбованій ділянці) та отримати чесну відповідь від тестувальної системи. Вам треба з'ясувати, чи є зафарбована ділянка квадратом.

Прямокутник та квадрат

Протокол взаємодiї

Щоб дізнатися, чи належить клітинка зафарбованій ділянці, треба це спитати у Еолімпа. Для цього потрібно одному рядку вивести символ <> та два цілі числа ~x~ та ~y~ ~(1 \le x \le 100, \; 1 \le y \le 100)~ --- координати точки, яку ви хочете запитати. Після цього вам потрібно вивести символ нового рядка та виконати операцію flush. Після цього потрібно зчитати рядок. Еолімп виведе або <<inside>>, якщо клітинка зафарбована, або <<outside>> інакше.

  • fflush(stdout) або cout.flush() в C++;

  • System.out.flush() в Java;

  • flush(output) в Pascal;

  • stdout.flush() в Python;

  • для всіх інших мов вам потрібно дивитися документацію самостійно.

Ви можете поставити не більше ~10\,000~ питань.

Коли ви будете знати відповідь, вам потрібно вивести символ <>, пробіл, та один з двох варіантів: або <<square>> (якщо зафарбована Еолімпом фігура --- квадрат), або <<rectangle>> (якщо фігура --- прямокутник).

Якщо ви не будете дотримувалися формату взаємодії, то ви можете отримати будь-який вердикт: Неправильна відповідь, Помилка виконання, Перевищено обмеження часу, тощо.

Оцінювання

Ваша програма зіграє з Еолімпом у цю гру велику кількість разів. Нехай ~q~ --- максимальна кількість питань, які ви поставили у всіх іграх. Тоді ви отримаєте таку кількість балів:

  • Якщо у будь-якій грі ви поставили більше ~10\,000~ питань, вивели неправильну відповідь або не дотримувалися формату взаємодії, ви отримаєте ~0~ балів.
  • Якщо ~1\,000 < q \leq 10\,000~, ви отримаєте ~5~ балів.
  • Якщо ~100 < q \leq 1\,000~, ви отримаєте ~19~ балів.
  • Якщо ~50 < q \leq 100~, ви отримаєте ~20 + \lfloor\frac{(100 - q) \cdot 30}{50}\rfloor~ балів.
  • Якщо ~33 < q \leq 50~, ви отримаєте ~50 + \lfloor\frac{(50 - q) \cdot 50}{17}\rfloor~ балів.
  • Якщо ~q \leq 33~, ви отримаєте ~100~ балів.

Пояснення

У прикладі Еолімп зафарбував ділянку, у якої верхній лівий кут --- (20, 20), а правий нижній --- (80, 80).

В умові наведений приклад того, як можна взаємодіяти з Еолімпом. Ваші запити до Еолімпа можуть бути іншими.

Приклад вхідних даних

inside
inside
outside
inside
outside
outside
inside
outside
outside

Приклад вихідних даних

? 50 50
? 75 75
? 10 10
? 20 20
? 19 20
? 20 19
? 80 80
? 81 80
? 80 81
! square

Коментарі

Please read the guidelines before commenting.



  • 0
    Jodah  commented on Січ. 16, 2025, 9:23 після полудня

    перестало приймати посилки, навіть ті які раніше праюцювали на 100 балів зараз internal error


    • 1
      zvit  commented on Січ. 17, 2025, 8:28 до полудня

      сервер перевантажив