题目名称 | 1019. [Clover S1] 援助方案 |
---|---|
输入输出 | help.in/out |
难度等级 | ★ |
时间限制 | 1000 ms (1 s) |
内存限制 | 128 MiB |
测试数据 | 10 |
题目来源 | Makazeu 于2012-08-20加入 |
开放分组 | 全部用户 |
提交状态 | |
分类标签 | |
分享题解 |
通过:1, 提交:1, 通过率:100% | ||||
苏轼 | 100 | 0.038 s | 0.18 MiB | Pascal |
关于 援助方案 的近10条评论(全部评论) |
---|
【题目描述】
夏天,也许大家热爱在水中畅游,体验炎炎夏日中难得的清爽。可是,游泳运动中的事故也是层出不穷的。因此,游泳馆设计了一套救援方案,请你来帮忙进行评估。
游泳池可以看成一个二维平面。当且仅当一个点的横纵坐标都为整数的时候,这个点为整点。平面当中每个整点上都有一名游泳的同学,他们的移动忽略不计。救生员同样处于整点位置上。由于不同的救生员能力不同,他们所能够保护的范围形状、大小也是不一样的。救生员的保护范围有三角形、正方形、圆形三种形状。现在,给出N名救生员的保护范围,如果一个同学在某一个救生员的保护范围内,那么这个同学是被保护的。请你计算能够被保护的同学人数。数据保证每个救生员的保护面积大于0.
【输入格式】
第一行一个整数N,表示救生员的人数。
接下来N行描述N个救生员的保护范围:
如果这个救生员的保护范围是三角形,那么将输入"T x1 y1 x2 y2 x3 y3",其中,(x1,y1)、(x2,y2)、(x3,y3)是三角形的三个顶点坐标。
如果这个救生员的保护范围是圆形,那么将输入"C x y r",其中,(x,y)是圆心,r是圆的半径。
如果这个救生员的保护范围是正方形,那么将输入"S x y l",其中,(x,y)是正方形左下角坐标,l是正方形的边长。
特别地,如果一个整点在图形的边界上,在这个点上的同学将被认为是被保护的。
【输出格式】
一行一个整数,表示被保护的同学的人数。
【样例输入】
3
C 10 10 3
S 9 8 4
T 7 9 10 8 8 10
【样例输出】
34
【提示】
样例解释:如图所示,红色的点表示被保护的同学。
对于100%的数据,所有数字均为正整数且不大于50.
对于70%的数据,救生员保护范围只有圆形和正方形。
【时间限制】
每个测试点1s【来源】
From - This_poet
Contact me - This_poet@126.com / Freda.RD.Shi@gmail.com
This_poet's Blog - http://thispoet.blogcn.com