QOJ.ac

QOJ

Time Limit: 5 s Memory Limit: 64 MB Total points: 100

#11163. 棋盘设计

الإحصائيات

棋盘由 $n \cdot n$ 个格子组成,排列成 $n$ 行 $n$ 列,行和列均从 $1$ 到 $n$ 编号。第 $i$ 行第 $j$ 列的格子坐标为 $(i, j)$。

我们希望从左上角的格子(坐标为 $(1, 1)$)走到右下角的格子(坐标为 $(n, n)$)。部分格子是被阻塞的。

我们只能在未被阻塞的格子上向右或向下移动,也就是说,从格子 $(i, j)$ 可以走到格子 $(i, j+1)$ 或 $(i+1, j)$,前提是目标格子未被阻塞。

有些棋盘只能以一种方式通过,有些则有多种方式。给定一个整数 $K$,请你设计一个边长不超过 $100$ 的棋盘,使得从 $(1,1)$ 到 $(n,n)$ 的不同路径数量恰好等于 $K$。

输入格式

输入的第一行包含一个整数 $K$($0 \le K$)。

输出格式

输出的第一行应包含一个整数 $n$($1 \le n \le 100$),表示棋盘的大小。接下来的 $n$ 行中,每一行输出一个长度为 $n$ 的字符串,只由字符 .(表示未阻塞格子)和 #(表示被阻塞格子)组成;第 $i$ 行中的第 $j$ 个字符描述格子 $(i, j)$。

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

样例数据

对于输入数据:

6

一种可能的正确输出是:

4
...#
....
##..
###.

子任务

测试数据分为以下子任务。每个子任务的测试由一个或多个独立的测试组组成。

子任务 条件 分值
1 $K \le 50$ 15
2 $K \le 2000$ 15
3 $K \le 10^9$ 40
4 $K \le 10^{18}$ 30

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.