#P12911. [POI 2020/2021 R2] 棋盘 / Projekt planszy

    ID: 12687 Type: RemoteJudge 1000ms 64MiB Tried: 0 Accepted: 0 Difficulty: 5 Uploaded By: Tags>POI(波兰)2021Special Judge进制构造

[POI 2020/2021 R2] 棋盘 / Projekt planszy

题目背景

翻译来自于 LibreOJ

题目描述

题目译自 XXVIII Olimpiada Informatyczna – II etap Projekt planszy

棋盘由 nnn \cdot n 个格子组成,分为 nn 行和 nn 列,格子编号从 11nn。第 ii 行第 jj 列的格子坐标为 (i,j)(i, j)。你需要从左上角的格子 (1,1)(1,1) 走到右下角的格子 (n,n)(n, n)。棋盘上有些格子是被封锁的,你只能在未被封锁的格子上向右或向下移动,也就是说,从格子 (i,j)(i, j) 可以走到 (i,j+1)(i, j+1)(i+1,j)(i+1, j),前提是目标格子没有被封锁。

有的棋盘只有一种走法,有的则有多种走法。给定一个数字 KK,请你设计一个尺寸不超过 100100 的棋盘,使从起点到终点的不同走法数量恰好为 KK

输入格式

输入的第一行包含一个整数 KK (0K)(0 \leq K)

输出格式

输出的第一行是一个整数 nn (1n100)(1 \leq n \leq 100),表示棋盘的大小。接下来 nn 行,每行输出一个长度为 nn 的字符串,由字符 .(表示未封锁的格子)和 #(表示被封锁的格子)组成。第 ii 行的第 jj 个字符描述了格子 (i,j)(i, j) 的状态。

在题目给定的限制条件下,答案总是存在的。如果有多种可能的答案,你的程序可以输出其中任意一种。

6
4
...#
....
##..
###.

提示

详细子任务附加限制及分值如下表所示。

子任务 附加限制 分值
11 K50K \leq 50 1515
22 K2000K \leq 2000
33 K109K \leq 10^{9} 4040
44 K1018K \leq 10^{18} 3030