bzoj#P3046. lagoon
lagoon
题目描述
忘川沧月的小水塘的水面是一片由以下两种图形组成的图案:
这两种图形都由一个边长为 的正方形和两个半径为 的 圆组成,圆心在正方形的两个对角顶点上。
小水塘左上角坐标为 ,右下角坐标为 。水面上每一个顶点坐标为偶数的 正方形,都是上面两个图形中的一种。如果我们往水塘中的某个位置倒一桶污水,那么这桶污水会像画图中的油漆桶一样扩散开来,占据一片连续的区域,但是在线条边界处会停止扩散。注意如果倒在了线条上,扩散面积为 。
(图)
如下图所示,就是一个由 行 列上述图形组成的、左上角坐标 、右下角坐标 、某些位置倒了污水的水塘(白色部分为线条边界,线条实际宽度认为是 ,为了明显、美观,此处加粗显示):
(图)
现在给出一个 行 列的由上述两种图形组成的水塘,起初水塘中全部为净水。给定q个往某个坐标上 倾倒污水的操作,对于每次操作,请求出在 上倾倒的污水最终会扩散多大的面积。
输入格式
第一行两个整数 、。
接下来 行每行 个整数,每个整数是 或者 ,中间没有空格隔开。 代表此处是<图lagoon-1>中左侧那个 的图形, 代表此处是右侧那个图形。例如<图lagoon-2>中的第一行用 0001
表示。
第n+2行是一个整数 。
接下来 行每行两个用空格隔开的整数 、,表示这一次倾倒污水的坐标。
输出格式
对于每个询问,输出此次倾倒的污水最终扩散的面积,四舍五入保留 位小数。
样例输入 #1
1 2
01
4
0 0
2 0
0 1
0 2
样例输出 #1
0.7854
4.8584
0.0000
4.8584
样例输入 #2
3 1
1
0
1
2
3 1
4 2
样例输出 #2
7.2876
1.5708
数据规模与约定
对于 的数据,,,。
题目来源
Poetize8