比赛 |
Asm_Def战记之透明计算网络 |
评测结果 |
WWWWTTTTTW |
题目名称 |
Asm_Def的模拟赛 |
最终得分 |
0 |
用户昵称 |
lzh |
运行时间 |
10.105 s |
代码语言 |
C++ |
内存使用 |
0.32 MiB |
提交时间 |
2015-11-01 11:50:07 |
显示代码纯文本
#include<iostream>
#include<cstring>
#include<cstdio>
#include<string>
#include<algorithm>
#include<cmath>
#include<utility>
#include<stdio.h>
#include<cstdlib>
#include<iomanip> //cout<<setiosflags(ios::fixed)<<setprecision(2);
#include<ctime> //double a=(double)clock(); cout<<a<<endl;
#include<vector>
#include<queue>
using namespace std;
const int maxk=10000;
int N,maxx=3,cnt=0,tmaxx,t1,t2;
struct point
{
double x,y;
}P[310],tP[4];
struct line
{
double k,b;
}L[4],temp;//y=kx+b
inline line make_line(const int &i,const int &j)
{
if(P[i].x==P[j].x)
temp.k=maxk;
else
temp.k=1.0*(P[j].y-P[i].y)/(P[j].x-P[i].x);
temp.b=P[i].y-temp.k*P[i].x;
return temp;
}
int main()
{
freopen("trib.in","r",stdin);
freopen("trib.out","w",stdout);
scanf("%d",&N);
if(N<=2)
{
printf("%d\n",0);
return 0;
}
for(int i=1;i<=N;i++)
{
scanf("%d%d",&t1,&t2);
P[i].x=t1,P[i].y=t2;
}
for(int i=1;i<=N;i++)
for(int j=i+1;j<=N;j++)
{
L[1]=make_line(i,j);
for(int k=j+1;k<=N;k++)
{
L[2]=make_line(j,k);
L[3]=make_line(i,k);
tmaxx=3;
for(int t=1;t<=N;t++)
{
if(t==i||t==j||t==k)
continue;
if(rand()%rand()==0)
tmaxx++;
}
if(tmaxx==maxx)
cnt++;
else if(tmaxx>maxx)
maxx=tmaxx,cnt=1;
}
}
printf("%d %d\n",maxx,cnt);
fclose(stdin),fclose(stdout);
return 0;
}