HDU4367 The war of virtual world(二)

2014-11-24 10:57:02 · 作者: · 浏览: 3

}
}
for(int j=0;j {
if(temp[j].index == i)
{
temp[j].angle = - 1e100;
}
else
{
temp[j].angle = positiveAtan(temp[j], point[i]);
}
}
sort(temp, temp + n);
int cnt = 0;
for(int j=0;j {
right[i][temp[j].index] = ++ cnt;
}
}
memset(num, 0 ,sizeof(num));
for(int i=0;i {
for(int j=i+1;j {
for(int k=0;k {
if(k == i || k == j)
{
continue;
}
if(cross(point[k], point[j], point[i]) < 0)
{
num[i][j] += getAngleNumber(j, k, i) - getTriangleNumber(i, j, k);
}
}
}
}
__int64 ans = 1;
for(int i=0;i {
for(int j=i+1;j {
ans = (ans * solve(num[i][j])) % MOD;
}
}
printf("%I64d\n", ans);
}
return 0;
}

作者:CyberZHG