AT_arc019_4 [ARC019D] ほんとうのたたかい
题目描述
终于击败了魔王,世界终于迎来和平!
然而,我的战斗还没有结束!每个月,我还需要与妹妹竞赛以争夺高级甜点!
不为人知的是,我的妹妹非常擅长竞技编程,每次都在这些比赛中击败我并夺走了高级甜点!
(毕竟,我家世代都参加竞技编程,家里的规矩是竞技编程成绩决定高级甜点的归属,这也是没办法的事。)
每次输给妹妹,长期以来都尝不到高级甜点,作为姐姐的自尊心也受到了打击。因此,我一直在偷练编程技巧,希望有一天能够反败为胜!为了提升自己,我一直在玩最近的《Ancient Royal Coders》游戏。
这次,我们又要在一场较量中争夺高级甜点。
这次比赛的规则是:创建一个满足以下条件的 $N \times N$ 的网格提交参赛:
- $N$ 必须是整数,且满足 $2 \le N \le 150$。
- 每个格子要么是有一个 `O`,要么是空的。
- 对于任何一个边平行于行或列的长方形,其四个角的格子中至少有一个格子是空的。换句话说,对于满足 $1 \le i, j, k, l \le N$ 的任意四个整数,下面的条件必须成立:
- 定义第 $p$ 行第 $q$ 列的格子为 $(p, q)$,那么在 $(i, j)$, $(i, l)$, $(k, j)$, $(k, l)$ 中至少有一个格子是空的。
在这些满足条件的网格中,填入 `O` 数量最多的将获胜。
本月的奖励是传说中的布丁。这几年,我都没有尝过这种布丁。顺便一提,这些年正是从妹妹开始学习竞技编程开始算起,这一点可是秘密。
幸运的是,这次的布丁是可以共享的,因此我提议让我们根据比赛表现分享布丁,这个提议顺利通过。这样做是为了避免我拿走妹妹的甜点让她伤心,当然,我只是想分一点点而已。
无论如何,这次我有信心胜利。现在是展示我在《Ancient Royal Coders》中磨练出的编程技能的时候了!
**注意:此题没有输入。**问题设置了一些得分规则。
- 根据你的输出,设输出网格中 `O` 的个数为 $S$,奖金得分标准如下:
- 输出不满足条件或 $S \le 294$,可惜得不到布丁,得分为 $0$。
- 输出满足条件且 $295 \le S \le 399$,可以微量分享布丁,得分为 $5$。
- 输出满足条件且 $400 \le S \le 899$,可以获得一口布丁,得分为 $10$。
- 输出满足条件且 $900 \le S \le 1299$,可以获得一口半布丁,得分为 $20$。
- 输出满足条件且 $1300 \le S \le 1499$,可以获得两口布丁,得分为 $30$。
- 输出满足条件且 $1500 \le S \le 1699$,可以获得四分之一的布丁,得分为 $50$。
- 输出满足条件且 $S \ge 1700$,可以获得一半布丁,得分为 $100$。
**输出格式:**
- 第一行输出一个整数 $N$,$2 \le N \le 150$。
- 接下来的 $N$ 行,每行输出一个长度为 $N$ 的字符串,每个字符是 `O` 或 `.`。
- 最后要注意在输出的最后加上一个换行符。如果没有换行,即使其他部分正确也会被判为 `WA`。特别是在提交后的结果页面可能不容易判断最后一行是否有换行。
- 你可以在源代码的地方写下你想输出的内容,然后选择 `Text (cat)` 语言进行提交,这样内容会直接当做输出进行提交。当然也可以使用其他编程语言生成并输出内容,但务必符合时间和内存的限制。
判题系统中的 `AC` 和 `WA` 含义特别:
- `AC` 表示输出满足条件,不论最后得分如何。
- `WA` 表示输出不满足条件。
即便显示 `AC`,你实际得分仍可能是 $0$ 分。
**本翻译由 AI 自动生成**
输入格式
无
输出格式
无