记录编号 |
38536 |
评测结果 |
WWWWTTTT |
题目名称 |
等腰直角三角形 |
最终得分 |
0 |
用户昵称 |
苏轼 |
是否通过 |
未通过 |
代码语言 |
C++ |
运行时间 |
4.043 s |
提交时间 |
2012-04-20 15:14:35 |
内存使用 |
1.03 MiB |
显示代码纯文本
#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<cmath>
using namespace std;
int n,m;
double answer=0;
int w[100001][2];
int main()
{
freopen ("triangle.in","r",stdin);
freopen ("triangle.out","w",stdout);
cin>>n;
for (int p=0;p<n;p++)
{
answer=0;
cin>>m;
for (int i=1;i<=m;i++)
{
int a,b;
cin>>a>>b;
answer+=b*b;
w[i][0]=a-(abs(b));
w[i][1]=a+(abs(b));
}
for (int i=1;i<m;i++)
{
for (int j=i+1;j<=m;j++)
{
if (w[i][0]>=w[j][1]||w[i][1]<=w[j][0])
continue;
if (w[i][0]>w[j][0]&&w[i][1]<w[j][1])
{
answer-=(w[i][1]-w[i][0])*(w[i][1]-w[i][0])/4;
continue;
}
if (w[j][0]>w[i][0]&&w[j][1]<w[i][1])
{
answer-=(w[j][1]-w[j][0])*(w[j][1]-w[j][0])/4;
continue;
}
if (w[i][0]<w[j][1]&&w[i][1]>w[j][0]&&w[i][0]>w[j][0]&&w[i][1]>w[j][1])
{
answer-=(w[j][1]-w[i][0])*(w[j][1]-w[i][0])/4;
continue;
}
if (w[j][0]<w[i][1]&&w[j][1]>w[i][0]&&w[j][0]>w[i][0]&&w[j][1]>w[i][1])
{
answer-=(w[i][1]-w[j][0])*(w[i][1]-w[j][0])/4;
continue;
}
}
}
printf("%.2lf\n",answer);
}
return 0;
}