A7308 | 皓仔的皇后棋盘
时间限制1s
内存限制128MB
通过 / 提交0/0
题目描述
皓仔最近在学习国际象棋,他发现“皇后”是一种很厉害的棋子。
在一个 $n \times n$ 的棋盘上,皇后可以攻击到与自己在同一行、同一列,以及同一条对角线上的所有位置。
现在棋盘上已经放好了若干个皇后。皓仔想知道,哪些位置会被这些皇后攻击到。
请你输出一个 $n \times n$ 的网格:
- 如果某个位置上有皇后,输出
- 如果某个位置虽然没有皇后,但能被至少一个皇后攻击到,输出
- 如果某个位置既没有皇后,也不会被任何皇后攻击到,输出
在一个 $n \times n$ 的棋盘上,皇后可以攻击到与自己在同一行、同一列,以及同一条对角线上的所有位置。
现在棋盘上已经放好了若干个皇后。皓仔想知道,哪些位置会被这些皇后攻击到。
请你输出一个 $n \times n$ 的网格:
- 如果某个位置上有皇后,输出
Q- 如果某个位置虽然没有皇后,但能被至少一个皇后攻击到,输出
#- 如果某个位置既没有皇后,也不会被任何皇后攻击到,输出
.输入格式
第一行输入两个整数 $n,m$,分别表示棋盘大小和皇后的数量。
接下来 $m$ 行,每行输入两个整数 $x,y$,表示在第 $x$ 行第 $y$ 列放置了一个皇后。
保证不会有两个皇后放在同一个位置。
接下来 $m$ 行,每行输入两个整数 $x,y$,表示在第 $x$ 行第 $y$ 列放置了一个皇后。
保证不会有两个皇后放在同一个位置。
输出格式
输出 $n$ 行,每行一个长度为 $n$ 的字符串,表示最终的棋盘状态。
输入输出样例
输入 #1
5 2 2 2 4 5
输出 #1
###.# #Q### ##### ####Q .#.##
【样例解释】
棋盘大小为 $5 \times 5$,一共有 $2$ 个皇后,分别在:
- 第 $2$ 行第 $2$ 列
- 第 $4$ 行第 $5$ 列
先在皇后所在位置输出
【数据范围】
对于全部数据,保证:
- $1 \le n \le 100$
- $1 \le m \le n^2$
- $1 \le x,y \le n$
棋盘大小为 $5 \times 5$,一共有 $2$ 个皇后,分别在:
- 第 $2$ 行第 $2$ 列
- 第 $4$ 行第 $5$ 列
先在皇后所在位置输出
Q,然后把所有能被皇后攻击到的位置标记为 #,其余位置输出 .。【数据范围】
对于全部数据,保证:
- $1 \le n \le 100$
- $1 \le m \le n^2$
- $1 \le x,y \le n$
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?