| 记录编号 | 38541 | 评测结果 | AAAAAAAA | 
    
        | 题目名称 | 789.等腰直角三角形 | 最终得分 | 100 | 
    
        | 用户昵称 |  201101 | 是否通过 | 通过 | 
    
        | 代码语言 | C++ | 运行时间 | 0.927 s | 
    
        | 提交时间 | 2012-04-20 19:42:25 | 内存使用 | 1.79 MiB | 
    
    
    
    		显示代码纯文本
		
		/*
UID:cheepok
PID:triangle
*/
#include<stdio.h>
#include<stdlib.h>
typedef long long Int;
struct orz
{
	Int x,y;
}a[100001];
Int Q,n,ans,tmp;
int cmp(const void *a,const void *b)
{
	return (*(orz *)a).x>(*(orz *)b).x?1:-1;
}
int main()
{
	freopen("triangle.in","r",stdin);
	freopen("triangle.out","w",stdout);
	Int i;
	Int x,y;
	scanf("%lld",&Q);
	while(Q--)
	{
		scanf("%lld",&n);
		ans=0;
		for(i=1;i<=n;i++)
		{
			scanf("%lld%lld",&x,&y);
			a[i].x=x-y;
			a[i].y=x+y;
		}
		qsort(a+1,n,sizeof(orz),cmp);
		a[0].x=a[0].y=-2000000000;
		for(i=1;i<=n;i++)
		{
			if(a[i].y<a[i-1].y)
			{
				a[i].y=a[i-1].y;
			}
			else if(a[i].x>=a[i-1].y)
			{
				ans+=(a[i].y-a[i].x)*(a[i].y-a[i].x);
			}
			else
			{
				ans+=(a[i].y-a[i].x)*(a[i].y-a[i].x);
				ans-=(a[i-1].y-a[i].x)*(a[i-1].y-a[i].x);
			}
		}
		tmp=(ans%4)*25;
		ans=ans/4;
		printf("%lld.%.2lld\n",ans,tmp);
	}
	return 0;
}