比赛 |
“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;
- }
-