2020牛客夏季多校訓練キャンプ(第3回)Operation Love
1491 ワード
転送ドア:Operation Love
より良い読書体験orABCFL問題解:https://www.cnblogs.com/lilibuxiangtle/p/13336652.html
标题:t組テストは、毎回時計回りか反時計回りに20点ずつ、手の形をして、左手か右手かを聞きます.
标题:この问题は凸包で解くことができて、板は凸包のすべての点を求めて记录して、それから长さが6の辺(つまり亲指)の次の辺が下の长さが9の辺であるかどうかを求めます.はい、右手です.そうでなければ左手です.しかし、この問題は他のカードの精度で、2つの辺の長さが等しいと判断するときはfabs(d 1,d 2)<1 e-5で、1 e-5より大きくてもいいですが、小さいとwa,waで泣きます.
ps:csdnに同期したコードは醜いので、行番号を表示しません.
より良い読書体験orABCFL問題解:https://www.cnblogs.com/lilibuxiangtle/p/13336652.html
标题:t組テストは、毎回時計回りか反時計回りに20点ずつ、手の形をして、左手か右手かを聞きます.
标题:この问题は凸包で解くことができて、板は凸包のすべての点を求めて记录して、それから长さが6の辺(つまり亲指)の次の辺が下の长さが9の辺であるかどうかを求めます.はい、右手です.そうでなければ左手です.しかし、この問題は他のカードの精度で、2つの辺の長さが等しいと判断するときはfabs(d 1,d 2)<1 e-5で、1 e-5より大きくてもいいですが、小さいとwa,waで泣きます.
#include
using namespace std;
struct node
{
double x,y;
}p[100],s[100];
double xx,yy;
double cross(node a,node b,node c)
{
return (b.x-a.x)*(c.y-a.y)-(c.x-a.x)*(b.y-a.y);
}
double dis(node a,node b)
{
return sqrt((a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y));
}
int cmp1(node a,node b)
{
if(a.y==b.y) return a.x>t;
while(t--){
memset(p,0,sizeof(p));
memset(s,0,sizeof(s));
int n=20;
for(int i=0;i>p[i].x>>p[i].y;
}
sort(p,p+n,cmp1);
xx=p[0].x,yy=p[0].y;
sort(p+1,p+n,cmp2);
s[0]=p[0],s[1]=p[1];
int top=1;
for(int i=2;i
ps:csdnに同期したコードは醜いので、行番号を表示しません.