比赛 |
Asm_Def战记之透明计算网络 |
评测结果 |
AAAATTTTTA |
题目名称 |
Asm_Def的模拟赛 |
最终得分 |
50 |
用户昵称 |
momo123 |
运行时间 |
10.375 s |
代码语言 |
C++ |
内存使用 |
0.33 MiB |
提交时间 |
2015-11-01 11:49:32 |
显示代码纯文本
#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<queue>
#include<algorithm>
#include<cmath>
#include<vector>
#include<cstring>
using namespace std;
double x[301],y[301],mx,my;
int n,ans=3,maxx=3,pp=1,t=1,anss;
int xx1[300],xx2[300],xx3[3000];
double area(double x0,double y0,double x1,double y1,double x2,double y2)
{
return x0*y1+x2*y0+x1*y2-x2*y1-x0*y2-x1*y0;
}
int main()
{
freopen("trib.in","r",stdin);
freopen("trib.out","w",stdout);
cin>>n;
if(n<3)
{
cout<<"0"<<endl<<"0";
return 0;
}
if(n==3)
{
cout<<"3"<<endl<<"1";
return 0;
}
for(int i=1;i<=n;i++)
{
double tt,ttt;
cin>>tt>>ttt;
x[i]=tt+1000;
y[i]=ttt+1000;
}
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
for(int k=1;k<=n;k++)
if(i!=j&&j!=k&&k!=i)
{
double a1=area(x[i],y[i],x[j],y[j],x[k],y[k]);
for(int p=1;p<=n;p++)
if(p!=i&&p!=j&&p!=k)
{
double a2,a3,a4;
a2=abs(area(x[i],y[i],x[j],y[j],x[p],y[p]));
a3=abs(area(x[p],y[p],x[j],y[j],x[k],y[k]));
a4=abs(area(x[i],y[i],x[p],y[p],x[k],y[k]));
double sum=a2+a3+a4;
double c=fabs(sum-a1);
if(c<=1e-9) ans++;
}
if(ans>maxx)
{
maxx=ans;
xx1[t]=i,xx2[t]=j,xx3[t]=k;
pp=1;
}
else
if(ans==maxx)
{
for(int ii=1;ii<=t;ii++)
if((i!=xx1[ii]&&i!=xx2[ii]&&i!=xx3[ii])||(j!=xx1[ii]&&j!=xx2[ii]&&j!=xx3[ii])||(k!=xx1[ii]&&k!=xx2[ii]&&k!=xx3[ii]))
anss++;
if(anss==t)
{
pp++;
t++;
xx1[t]=i,xx2[t]=j,xx3[t]=k;
}
anss=0;
}
ans=3;
}
cout<<maxx<<endl<<pp<<endl;
}