Дальня вершина
Limits: 2 sec., 512 MiB
Це інтерактивна задача (де ваша програма взаємодіє з програмою журі через ввід та вивід).
На декартовій площині лежить опуклий многокутник з \(n\) вершин, пронумерованих від \(1\) до \(n\) проти годинникової стрілки.
Для точки \(A(x, y)\) визначимо дальню вершину многокутника як ту, до якої найбільша відстань від \(A\). Якщо декілька вершин розташовані на найбільшій відстані від \(A\), то серед них дальньою вважатимемо лише вершину з найменшим номером.
Вам відома лише кількість вершин многокутника \(n\), але самі вершини не відомі.
Ви можете зробити не більше ніж \(100\) таких запитів до журі.
Ваш запит повинен містити два цілих числа \(x\) та \(y\). Відповіддю журі на запит є номер дальньої вершини многокутника для точки з координатами \((x, y)\).
Ваше завдання — знайти будь-яку точку із цілочисловими координатами, для якої дальною буде вершина з номером \(1\).
Input
Вам задано ціле число \(n\) — кількість вершин многокутника.
Після зчитування числа \(n\) починається взаємодія між вашою програмою та програмою журі, під час якої ваша програма робить запити, а програма журі на них відповідає.
Щоб зробити запит, виведіть два цілих числа \(x, y\) (\(-10^9 \le x, y \le 10^9\)) — координати точки.
У відповідь на запит програма журі виведе номер дальньої вершини многокутника для точки із запиту.
Якщо ви на свою спробу отримали у відповідь 1
, це
означає, що ви знайшли потрібну точку. Після цього негайно завершіть
роботу вашої програми. В іншому разі вашу відповідь не буде
зараховано.
Якщо спроба невалідна (наприклад, перевищено максимальну кiлькiсть
запитів), програма журі виведе -1
та припинить взаємодію. У
такому випадку завершiть роботу програми, щоб отримати вердикт
Неправильна вiдповiдь
. Якщо цього не зробити, ви можете
отримати вердикт Помилка часу виконання
.
Подбайте про виклик методу flush
після виводу кожного
рядка. Для цього можна використовувати:
fflush(stdout)
,cout << endl
абоcout.flush()
вC++
;System.out.flush()
вJava
;flush(output)
вPascal
;sys.stdout.flush()
вPython
;Console.Out.Flush()
вC#
.
Constraints
\(3 \le n \le 50\),
координати вершин многокутника не перевищують \(100\) за модулем,
многокутник є строго опуклим.
Notes
Нижче наведено приклад взаємодії для чотирикутника з вершинами в точках з координатами \((2, -1)\), \((5, 3)\), \((-1, 4)\), \((-2, -1)\).
Ввід | Вивід | Опис |
---|---|---|
4 |
Многокутник є чотирикутником. | |
-3 -2 |
Учасник робить запит для точки \(A(-3, -2)\). | |
2 |
Для точки \(A\) дальня вершина многокутника має номер \(2\). | |
2 -2 |
Учасник робить запит для точки \(B(2, -2)\). | |
3 |
Для точки \(B\) дальня вершина многокутника має номер \(3\). | |
5 5 |
Учасник робить запит для точки \(C(5, 5)\). | |
4 |
Для точки \(C\) дальня вершина многокутника має номер \(4\). | |
0 4 |
Учасник робить запит для точки \(D(0, 4)\). | |
1 |
Для точки \(D\) дальня вершина многокутника має номер \(1\). |
Element Type | Created | Who | Problem | Compiler | Result | Time (sec.) | Memory (MiB) | # | Actions |
---|