题库练习 Spinach Pizza
← 上一题 下一题 →

A15590 | Spinach Pizza

时间限制1s
内存限制256MB
通过 / 提交0/0

题目描述

The two siblings Alberto and Beatrice have to eat a spinach pizza together. However, none of them likes spinach, so they both want to eat as little as possible.

The pizza has the shape of a strictly convex polygon with $n$ vertices located at integer coordinates $(x_1, y_1), \, (x_2, y_2), \, \dots, \, (x_n, y_n)$ of the plane.

The siblings have decided to eat the pizza in the following way: taking turns, starting with Alberto, each sibling chooses a vertex of the remaining part of the pizza and eats out the triangle determined by its two neighboring edges. In this way, after each of the first $n - 3$ turns the pizza will have one less vertex. The game ends after the $(n - 2)$ -th turn, when all the pizza has been eaten.

Assuming that Alberto and Beatrice choose the slices to eat optimally, which of the siblings manages to eat at most half of the pizza? You should identify a sibling that has a strategy to do so and help them choose the slices appropriately. Note that it is possible that both Alberto and Beatrice end up eating exactly half of the area if they choose their slices optimally.

输入格式

The first line contains a single integer $n$ ( $4 \le n \le 100$ ) — the number of vertices.

The next $n$ lines contain two integers $x_i$ and $y_i$ each ( $-10^6 \le x_i, y_i \le 10^6$ ) — the coordinates of the $i$ -th vertex of the polygon representing the initial shape of the pizza.

It is guaranteed that the polygon is strictly convex and that its vertices are given in counterclockwise order.

输出格式

First, you should print a line containing either the string $\texttt{Alberto}$ or the string $\texttt{Beatrice}$ — the sibling that you will help to win.

Then, for the next $n - 2$ turns, you will alternate with the judge in choosing a slice of the pizza and removing it, starting with you if you chose to help Alberto, or starting with the judge if you chose to help Beatrice.

- When it is your turn, print a single line containing an integer $p$ ( $1 \leq p \leq n$ ) that has not been chosen before, indicating that you want to eat the slice determined by the vertex located at $(x_p, y_p)$ .
- When it is the judge's turn, read an integer $q$ ( $1 \leq q \leq n$ ), indicating that the other player eats the slice determined by the vertex located at $(x_q, y_q)$ . It is guaranteed that $q$ has not been chosen before.

If one of your interactions is malformed, the interactor terminates immediately and your program receives the verdict $\texttt{WRONG-ANSWER}$ . Otherwise, you will receive $\texttt{CORRECT}$ if at the end your player has eaten at most half of the pizza, and $\texttt{WRONG-ANSWER}$ otherwise.

After printing a line do not forget to end the line and flush the output. Otherwise, you will get the verdict $\texttt{TIMELIMIT}$ . To flush the output, use:

- $\texttt{fflush(stdout)}$ in C;
- $\texttt{fflush(stdout)}$ , $\texttt{cout <}\texttt{< flush}$ or $\texttt{cout.flush()}$ in C++;
- $\texttt{System.out.flush()}$ in Java and Kotlin;
- $\texttt{sys.stdout.flush()}$ in Python.

输入输出样例

输入 #1
4
0 0
6 1
5 3
1 4
输出 #1
-
输入 #2
6
0 0
2 0
3 2
2 4
0 4
-1 2
输出 #2
-
输入 #3
7
0 0
2 0
5 2
4 5
1 5
-1 4
-1 2
输出 #3
-
C++ 编辑器
输入
输出