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

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

Кроме того, амфитеатр должен быть максимально компактным — а именно, сторона минимального квадрата, внутрь которого можно его поместить, должна быть как можно меньше.
По заданному числу n нарисуйте схему амфитеатра из ровно n квадратов, удовлетворяющую всем условиям.
所有人都在为 VK Fest 2021 做准备!为了让观众更清晰地看到主舞台,计划建造一座露天剧场(amphitheater)。在本题中,我们从侧面观察该剧场——其示意图将由 n 个相同的小正方形构成的“阶梯形”图案表示。所谓阶梯形,是指一列或若干列正方形堆叠而成的塔,这些塔自左向右排列,且各塔高度非递增(即每座塔的高度不高于其左侧相邻塔的高度)。
下图展示了三种由 12 个小正方形组成的图形。其中前两种是阶梯形,第三种则不是。

出于美学考虑,决定使该露天剧场具有对称性。形式化地说,若将该图形关于直线 x=y 进行反射后(其中 x 轴方向为从左向右,y 轴方向为从下向上),所得图形与原图完全一致,则称该露天剧场为对称的。例如,上图中的第一个阶梯形是对称的,而第二个则不对称。

此外,该露天剧场还需尽可能紧凑——即能将其完全容纳在内的最小正方形的边长应尽可能小。
给定正整数 n,请画出一个恰好由 n 个小正方形构成的露天剧场示意图,使其满足上述所有条件。
输入格式
В единственной строке задано одно целое число n (1≤n≤100) — число квадратов, из которых нужно составить схему амфитеатра.
单行中给出一个整数 n(1≤n≤100)——需要用来构造 amphitheater(露天剧场)示意图的正方形数量。
输出格式
Если не существует схемы амфитеатра из n квадратов, выведите единственное число −1.
Иначе в первой строке выведите целое число m — минимальное возможное число строк и столбцов в схеме амфитеатра. Далее выведите m строк, описывающих схему. Каждая строка должна содержать ровно m символов 'o' (строчная латинская буква) или '.', где 'o' описывает построенный квадрат, а '.' — пустое место. Схема амфитеатра должна состоять ровно из n символов 'o'. Ячейка в левом нижнем углу должна содержать квадрат. Если возможных ответов с минимальным m несколько, выведите любой из них.
如果不存在由 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
输入解题思路,AI测评打分。不知道怎么写?