CF1531C.Симметричный амфитеатр
普及/提高-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
Все готовятся к VK Fest 2021! Для того, чтобы зрителям была лучше видна главная сцена, планируется построить амфитеатр. В этой задаче мы будем рассматривать его сбоку — схематично он будет иметь форму лестницы из n одинаковых квадратов. Лестница — это одна или более башен квадратов, выстроенных в ряд, где высоты башен невозрастают слева направо.
На следующем рисунке можно видеть три разные фигуры из 12 квадратов. Первые две фигуры — лестницы, а третья — нет.
Из эстетических соображений было решено, что амфитеатр должен быть симметричным. Формально, амфитеатр называется симметричным, если при отражении его схемы относительно прямой x=y получается тот же самый рисунок (где ось x направлена слева направо, а ось y — снизу вверх). Например, первая лестница на рисунке выше — симметричная, а вторая — нет.
Кроме того, амфитеатр должен быть максимально компактным — а именно, сторона минимального квадрата, внутрь которого можно его поместить, должна быть как можно меньше.
По заданному числу n нарисуйте схему амфитеатра из ровно n квадратов, удовлетворяющую всем условиям.
输入格式
В единственной строке задано одно целое число n ( 1≤n≤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