-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathproblem.tex
75 lines (57 loc) · 5.08 KB
/
problem.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
\begin{problem}{}{}{}{0.2 секунды}{64 Мб}
% Я - человек!
{\bf {Lines}} $-$ это азартная игра на квадратном поле размером $9\times 9$ клеток,
в которой игрок перемещает разноцветные шары с целью собрать линию из 5 и более шаров
одного цвета по вертикали, горизонтали или диагонали. За собранную линию начисляются очки, и она исчезает с доски.
\begin{wrapfigure}{r}{0.35\textwidth}
\vspace{-20pt}
\begin{center}
\includegraphics[width=0.35\textwidth,natwidth=267,natheight=200]{pic.jpg}
\end{center}
\vspace{-20pt}
\vspace{1pt}
\end{wrapfigure}
Ваша задача $-$ запрограммировать Электроника на игру в {\bf {Lines}}.
Ваша программа будет вызываться перед каждым ходом Электроника и ей будут передаваться сведения
о текущем состоянии игровой доски, а в ответ она должна вывести ход, который Электроник должен будет сделать в игре.
Электроник сыграет 4 партии и его признают Сергеем Сыроежкиным, если он наберёт не менее 100 очков по сумме всех партий.
{\bf {Правила игры}}
Игра начинается с 5 шаров на доске. Один ход игрока $-$ это перемещение одного шара на любую свободную клетку поля.
При этом между начальной и конечной клетками должен существовать путь из свободных клеток
(путь может пролегать по соседним клеткам по вертикали и горизонтали, но не по диагонали).
С каждым ходом на доску случайным образом добавляются еще 3 шара, однако если ход привёл к удалению линии,
новые 3 шара не добавляются, а игроку начисляются очки.
Возможные цвета шаров ограничены следующим списком: красный (red, код <<R>>), зелёный (green, код <<G>>), синий (blue, код <<B>>),
жёлтый (yellow, код <<Y>>), розовый (pink, код <<P>>), бирюзовый (cyan, <<C>>), бордовый (maroon, код <<M>>).
Очки начисляются за собранные линии длинной от 5 шаров по формуле $2^{X-4}+8$, где $X$ $-$ длина линии.
Так за линию из 5 шаров одного цвета начисляется 10 очков, 6 шаров $-$ 12 очков, 7 шаров $-$ 16 очков, 8 шаров $-$ 24 очка и так далее.
\InputFile
Первые 9 строк входных данных содержат 9 символов, разделённых пробелами, каждый из которых обозначает
цвет шарика (R / G / B / Y / P / M / C) или отсутствие шарика в данной клетке поля (\_).
Далее следует одна пустая строка, а на следующей строке сообщается текущий счёт игры (score), $0 \le score < 100\,000$.
\OutputFile
Программа должна вывести две пары координат перемещения шарика: ($X_0, Y_0$) $-$ откуда переместить шарик,
($X_1, Y_1$) $-$ куда переместить шарик. Начало координат, левый верхний угол доски, имеет координаты ($1, 1$),
а правый нижний угол доски, соответственно, ($9, 9$).
\Example
\begin{example}
\exmp{C \_ \_ \_ \_ \_ \_ B \_
\_ \_ \_ \_ \_ \_ \_ \_ R
\_ \_ \_ \_ \_ \_ \_ \_ \_
\_ \_ \_ \_ \_ \_ \_ \_ \_
\_ \_ \_ \_ \_ \_ \_ \_ \_
\_ \_ \_ \_ \_ \_ \_ \_ \_
\_ \_ \_ \_ \_ \_ \_ \_ \_
\_ \_ \_ \_ \_ \_ \_ \_ \_
B \_ \_ \_ \_ \_ \_ \_ P
0
}{8 1 2 9
}%
\end{example}
\Note
Задача не имеет однозначного ответа и оценивание будет проводиться по итогу нескольких игр,
поэтому представленный вариант ответа (одного хода) $-$ это лишь один из сотен возможных вариантов.
Однако, правила игры не разрешают перемещать шарик на место уже занятое другим шаром,
а также перепрыгивать через другие шары, так что, например, ход (1, 1) -> (9, 1) будет признан ошибочным
и ваше решение получит вердикт WA.
\end{problem}