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

普及/提高-

通过率:0%

时间限制:1.00s

内存限制:256MB

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

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

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

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

Кроме того, амфитеатр должен быть максимально компактным — а именно, сторона минимального квадрата, внутрь которого можно его поместить, должна быть как можно меньше.

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

所有人都在为 VK Fest 2021 做准备!为了让观众更清晰地看到主舞台,计划建造一座露天剧场(amphitheater)。在本题中,我们从侧面观察该剧场——其示意图将由 nn 个相同的小正方形构成的“阶梯形”图案表示。所谓阶梯形,是指一列或若干列正方形堆叠而成的塔,这些塔自左向右排列,且各塔高度非递增(即每座塔的高度不高于其左侧相邻塔的高度)。

下图展示了三种由 1212 个小正方形组成的图形。其中前两种是阶梯形,第三种则不是。

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

此外,该露天剧场还需尽可能紧凑——即能将其完全容纳在内的最小正方形的边长应尽可能小。

给定正整数 nn,请画出一个恰好由 nn 个小正方形构成的露天剧场示意图,使其满足上述所有条件。

输入格式

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

单行中给出一个整数 nn(1≤n≤1001 \le n \le 100)——需要用来构造 amphitheater(露天剧场)示意图的正方形数量。

输出格式

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

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

如果不存在由 nn 个正方形构成的阶梯式剧场方案,则输出唯一整数 −1-1。

否则,第一行输出整数 mm —— 阶梯式剧场方案中行数与列数的最小可能值。随后输出 mm 行,描述该方案。每行应恰好包含 mm 个字符,字符只能是 'o'(小写拉丁字母)或 '.',其中 'o' 表示已建造的正方形,'.' 表示空位。该阶梯式剧场方案必须恰好包含 nn 个 'o' 字符。左下角的单元格必须包含一个正方形。若存在多个满足最小 mm 的可行解,输出任意一个即可。

输入输出样例

  • 输入#1

    3

    输出#1

    2
    o.
    oo
  • 输入#2

    17

    输出#2

    5
    o....
    ooo..
    oooo.
    oooo.
    ooooo

输入解题思路,AI测评打分。不知道怎么写?

首页