CF1032B Personalized Cup
题目描述
在许多官方名称中带有“杯赛”(cup)的比赛中,冠军通常会获得一个真正的奖杯。这一次,一场别出心裁的编程比赛的组织者们决定让冠军更加开心,他们打算在奖杯上加上一块刻有冠军 ID 的铭牌。
铭牌需要是一个矩形,其上的文字将以若干行和若干列的表格形式打印。经过测量,组织者发现行数 $a$ 不能超过 $5$,而列数 $b$ 不能超过 $20$。表格的每个单元格要么是星号(“\*”),要么是用户 ID 的一个字母。
此外,组织者希望表格的每一行都尽量均匀,也就是说,不同行中星号的数量最多只能相差 $1$(例如,不能第一行有两个星号而第二行一个都没有)。最重要的是,从表格的左上角开始,按行优先顺序(即每行从左到右,从上到下),跳过所有星号后,正好能得到冠军的 ID。
组织者希望铭牌的行数尽可能少,在所有满足条件的最小行数的表格中,再选择列数最少的那个。
冠军尚未确定,因此你的任务是:给定一个 ID,请生成符合要求的铭牌表格。
输入格式
输入仅一行,包含一个字符串 $s$($1 \leq |s| \leq 100$),表示冠军的 ID,由大小写拉丁字母组成。
输出格式
输出第一行为表格的最小行数 $a$ 和最小列数 $b$。
接下来的 $a$ 行,每行包含 $b$ 个字符,表示任意一个符合要求的表格。
说明/提示
由 ChatGPT 4.1 翻译