比赛 |
“Asm.Def战记之拉格朗日点”杯 |
评测结果 |
AAAAAAAAAA |
题目名称 |
Asm.Def找燃料 |
最终得分 |
100 |
用户昵称 |
fyb |
运行时间 |
0.023 s |
代码语言 |
C++ |
内存使用 |
0.23 MiB |
提交时间 |
2015-11-04 08:47:29 |
显示代码纯文本
#include <cstdio>
using namespace std;
#define NMAX 100
int x[NMAX],y[NMAX];
bool is_on_line(int p0,int p1,int p){
// printf("%d %d %d %d\n",p0+1,p1+1,p+1,((y[p]-y[p0])*(x[p1]-x[p0])-(x[p]-x[p0])*(y[p1]-y[p0])));
return ((y[p]-y[p0])*(x[p1]-x[p0])==(x[p]-x[p0])*(y[p1]-y[p0]));
}
int main(){
int n;
int num,mx=1;
int i,j,k;
freopen("asm_fuel.in","r",stdin);
freopen("asm_fuel.out","w",stdout);
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d%d",x+i,y+i);
for(i=1;i<n;i++)
if(x[i-1]==x[i]&&y[i-1]==y[i])mx++;
for(i=0;i<n;i++)
for(j=i+1;j<n;j++){
if(x[i]==x[j]&&y[i]==y[j])continue;
num=0;
for(k=0;k<n;k++)
if(is_on_line(i,j,k))num++;
// if(num==6)printf("%d %d\n",i,j);
if(num>mx)mx=num;
}
printf("%d\n",mx);
return 0;
}