题目名称 1019. [Clover S1] 援助方案
输入输出 help.in/out
难度等级
时间限制 1000 ms (1 s)
内存限制 128 MiB
测试数据 10
题目来源 GravatarMakazeu 于2012-08-20加入
开放分组 全部用户
提交状态
分类标签
分享题解
通过:1, 提交:1, 通过率:100%
Gravatar苏轼 100 0.038 s 0.18 MiB Pascal
关于 援助方案 的近10条评论(全部评论)

1019. [Clover S1] 援助方案

★   输入文件:help.in   输出文件:help.out   简单对比
时间限制:1 s   内存限制:128 MiB

【题目描述

夏天,也许大家热爱在水中畅游,体验炎炎夏日中难得的清爽。可是,游泳运动中的事故也是层出不穷的。因此,游泳馆设计了一套救援方案,请你来帮忙进行评估。

游泳池可以看成一个二维平面。当且仅当一个点的横纵坐标都为整数的时候,这个点为整点。平面当中每个整点上都有一名游泳的同学,他们的移动忽略不计。救生员同样处于整点位置上。由于不同的救生员能力不同,他们所能够保护的范围形状、大小也是不一样的。救生员的保护范围有三角形、正方形、圆形三种形状。现在,给出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