比赛 |
20161114 |
评测结果 |
EEEEEEEEEE |
题目名称 |
输出全靠花 |
最终得分 |
0 |
用户昵称 |
Janis |
运行时间 |
0.759 s |
代码语言 |
C++ |
内存使用 |
0.33 MiB |
提交时间 |
2016-11-14 11:38:37 |
显示代码纯文本
#include<cstdio>
#include<iostream>
#include<algorithm>
using namespace std;
const int maxn = 1010;
struct Node{
int x,y,z,w;
void init(){
scanf("%d%d%d%d",&x,&y,&z,&w);
}
}p[maxn];
int n,ans=-1;
const double eps = 1e-5;
bool onOne(int a,int b,int c){
int dx = p[b].x-p[a].x;
int dy = p[b].y-p[a].y;
int dz = p[b].z-p[a].z;
int dw = p[b].w-p[a].w;
int x = p[c].x;
int y = p[c].y;
int z = p[c].z;
int w = p[c].w;
double lam = (x-p[a].x)/dx;
return (
y-(p[a].y+lam*dy) <= eps &&
z-(p[a].z+lam*dz) <= eps &&
w-(p[a].w+lam*dw) <= eps
);
/*
if( x - p[a].x+i*dx <= eps &&
y - p[a].y+i*dy <= eps &&
z - p[a].z+i*dz <= eps &&
w - p[a].w+i*dw <= eps ) return 1;
}
return 0;
*/
}
int main(){
#ifndef DEBUG
string FileName="xumingshi";
freopen((FileName+".in").c_str(),"r",stdin);
freopen((FileName+".out").c_str(),"w",stdout);
#endif
scanf("%d",&n);
for(int i = 0; i < n; i++)p[i].init();
for(int i = 0; i < n; i++){
for(int j = 0; j < n; j++){
if(i == j)continue;
int temp(0);
for(int k = 0; k < n; k++){
if(k == i || k == j)continue;
else if(onOne(i,j,k)) temp++;
}
ans = max(ans, temp+2);
}
}
printf("%d",ans);
}