#P17508. 画月亮

画月亮

题目描述

中秋节到了,小洛准备在一块方形画布上画一轮圆月。

这块画布由 n×nn\times n 个像素点(nn 为奇数)组成,初始均为字符 . 表示。小洛希望以画布的中心为圆心,画出一轮半径为 rr 的月亮。这轮月亮不会超出画布范围。

具体来说,假设第 xx 行第 yy 列的像素点的坐标记作 (x,y)(x,y),则月亮的圆心位于 (n+12,n+12)\left( \dfrac{n+1}{2},\dfrac{n+1}{2} \right)。

如果一个像素点位于月亮内部或月亮的边界上,那么这个像素点会被涂上 # 字符。具体来说,对于一个以 (a,b)(a,b) 为圆心、半径为 rr 的圆形,如果点 (x,y)(x,y) 满足:(x−a)2+(y−b)2≤r\sqrt{(x-a)^2+(y-b)^2}\leq r,那么这个点位于圆形内部或边界上。

输入格式

输入一行,包含两个整数 nn 和 rr,分别表示画布的边长和月亮的半径。保证 nn 为奇数。

输出格式

输出 nn 行,每行包含 nn 个字符,表示小洛画出来的图案。

样例 #1

样例输入 #1

5 2

样例输出 #1

..#..
.###.
#####
.###.
..#..

样例 #2

样例输入 #2

9 3

样例输出 #2

.........
....#....
..#####..
..#####..
.#######.
..#####..
..#####..
....#....
.........

提示

数据范围

本题共有 2020 个测试点。

  • 对于测试点 1∼41\sim 4,满足 n≤7n\leq 7;
  • 对于测试点 5∼85\sim 8,满足 n≤15n\leq 15;
  • 对于测试点 9∼149\sim 14,满足 n≤99n\leq 99;
  • 对于全部测试点,保证 3≤n≤9993\leq n\leq 999,1≤r≤n−121\leq r\leq \dfrac{n-1}{2}。