A108950.皓仔的皇后棋盘

入门

官方

通过率:0%

时间限制:1.00s

内存限制:128MB

题目描述

皓仔最近在学习国际象棋,他发现“皇后”是一种很厉害的棋子。

在一个 n×nn \times n 的棋盘上,皇后可以攻击到与自己在同一行同一列,以及同一条对角线上的所有位置。

现在棋盘上已经放好了若干个皇后。皓仔想知道,哪些位置会被这些皇后攻击到。

请你输出一个 n×nn \times n 的网格:

  • 如果某个位置上有皇后,输出 Q
  • 如果某个位置虽然没有皇后,但能被至少一个皇后攻击到,输出 #
  • 如果某个位置既没有皇后,也不会被任何皇后攻击到,输出 .

输入格式

第一行输入两个整数 n,mn,m,分别表示棋盘大小和皇后的数量。

接下来 mm 行,每行输入两个整数 x,yx,y,表示在第 xx 行第 yy 列放置了一个皇后。

保证不会有两个皇后放在同一个位置。

输出格式

输出 nn 行,每行一个长度为 nn 的字符串,表示最终的棋盘状态。

输入输出样例

  • 输入#1

    5 2
    2 2
    4 5

    输出#1

    ###.#
    #Q###
    #####
    ####Q
    .#.##

说明/提示

【样例解释】

棋盘大小为 5×55 \times 5,一共有 22 个皇后,分别在:

  • 22 行第 22
  • 44 行第 55

先在皇后所在位置输出 Q,然后把所有能被皇后攻击到的位置标记为 #,其余位置输出 .

【数据范围】

对于全部数据,保证:

  • 1n1001 \le n \le 100
  • 1mn21 \le m \le n^2
  • 1x,yn1 \le x,y \le n
首页