测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A14318. Симметричный амфитеатр

编程题 普及/提高-

题目描述

Все готовятся к VK Fest 2021! Для того, чтобы зрителям была лучше видна главная сцена, планируется построить амфитеатр. В этой задаче мы будем рассматривать его сбоку — схематично он будет иметь форму лестницы из $n$ одинаковых квадратов. Лестница — это одна или более башен квадратов, выстроенных в ряд, где высоты башен невозрастают слева направо.

На следующем рисунке можно видеть три разные фигуры из $12$ квадратов. Первые две фигуры — лестницы, а третья — нет.

![](/uploads/acgo/image/e2a0a8ee9bea0ac2_d507a558c66f.jpeg)Из эстетических соображений было решено, что амфитеатр должен быть симметричным. Формально, амфитеатр называется симметричным, если при отражении его схемы относительно прямой $x = y$ получается тот же самый рисунок (где ось $x$ направлена слева направо, а ось $y$ — снизу вверх). Например, первая лестница на рисунке выше — симметричная, а вторая — нет.

![](/uploads/acgo/image/a13a1e2264004772_7d9057c8d605.jpeg)Кроме того, амфитеатр должен быть максимально компактным — а именно, сторона минимального квадрата, внутрь которого можно его поместить, должна быть как можно меньше.

По заданному числу $n$ нарисуйте схему амфитеатра из ровно $n$ квадратов, удовлетворяющую всем условиям.

输入格式

В единственной строке задано одно целое число $n$ ( $1 \le n \le 100$ ) — число квадратов, из которых нужно составить схему амфитеатра.

输出格式

Если не существует схемы амфитеатра из $n$ квадратов, выведите единственное число $-1$ .

Иначе в первой строке выведите целое число $m$ — минимальное возможное число строк и столбцов в схеме амфитеатра. Далее выведите $m$ строк, описывающих схему. Каждая строка должна содержать ровно $m$ символов 'o' (строчная латинская буква) или '.', где 'o' описывает построенный квадрат, а '.' — пустое место. Схема амфитеатра должна состоять ровно из $n$ символов 'o'. Ячейка в левом нижнем углу должна содержать квадрат. Если возможных ответов с минимальным $m$ несколько, выведите любой из них.

输入输出样例

输入 #1
3
输出 #1
2
o.
oo
输入 #2
17
输出 #2
5
o....
ooo..
oooo.
oooo.
ooooo
上一题 去做题 下一题