比赛 20120420 评测结果 WWWWTTTT
题目名称 等腰直角三角形 最终得分 0
用户昵称 苏轼 运行时间 0.000 s
代码语言 C++ 内存使用 0.00 MiB
提交时间 2012-04-20 11:25:11
显示代码纯文本
#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;
}