UVA1493 Draw a Mess

题目描述

## 题目翻译 ### 题目背景 到了毕业季,学生们也应该在墙上留下什么东西来纪念,所以他们就在墙上画了形态各异的图案。老师看到后并没有生气,而是被学生们的才艺惊到了,他发现这些图案有一些后现代的风格艺术,于是他决定深入探究。 为简化题干,我们将墙面看作是一个 $n\times m$ 的像素格 $(1\le n\le200,1\le m\le50000)$,然后我们还有一个列表,表述接下来要在墙上画画的学生的顺序。每一个学生仅能画 $4$ 种几何图形,分别是钻石形,圆形,长方形和三角形,并且配上一个颜色 $c(1\le c\le 9)$。后来画的几何图形的颜色总会覆盖之前画的颜色(若没有之前画的颜色则直接画到墙上)。一共有 $q$ 位学生 $(1\le q\le50000)$ 依次进行绘画。现在请你给出当 $q$ 位学生绘画完毕后,每种颜色都有多少个像素。

输入格式

第一行是 3 个整数 $n,m,q$。接下来 $q$ 行,每行开始有一个字符串(`Circle`,`Diamond`,`Rectangle`,`Triangle` 中的一个),代表绘画的形状。形状输入原则如下: 1. `Circle`:后面给你四个整数 $xc,yc,r,c$ 在符合条件的 $(x,y)$ 上涂上颜色 $c$。$x,y$ 应满足 $(x-xc)^2+(y-yc)^2\le r^2$。 2. `Diamond`:后面给你四个整数 $xc,yc,r,c$,在符合条件的 $(x,y)$ 上涂上颜色 $c$。$x,y$ 应满足 $|x-xc|+|y-yc|\le r^2$。 3. `Rectangle`:后面给你五个整数 $xc,yc,l,w,c$,在符合条件的 $(x,y)$ 上涂上颜色 $c$。$x,y$ 应满足 $xc\le x\le xc+l-1,yc\le y\le yc+w-1$。 4. `Triangle`:后面给你四个整数 $xc,yc,l,w$,其中 $w$ 代表三角形的底边,而且底的长度为奇数,底边的中点坐标为 $(xc,yc)$。给定的数据保证这是个等腰三角形。这个三角形的高为 $(w+1)/2$。 数据范围:$0\le xc,x\le n-1,0\le yc,y\le m-1$。 注意:给定的数据不保证一定在墙内。画画不许出墙。

输出格式

$9$ 个整数,第 $i$ 个整数代表第 $i$ 种元素有多少个像素格。每个整数之间要有空格。 ### 输入样例 ``` 8 8 4 Diamond 3 3 1 1 Triangle 4 4 3 2 Rectangle 1 1 2 2 3 Circle 6 6 2 4 ``` ### 输出样例 ``` 4 4 4 11 0 0 0 0 0 ``` ### 样例解释 最终画完的墙壁应为这样: ``` 00000000 03300000 03310000 00111000 00022240 00002444 00004444 00000444 ```