比赛 “Asm.Def战记之拉格朗日点”杯 评测结果 AWWWWWWWWW
题目名称 Asm.Def找燃料 最终得分 10
用户昵称 AISS 运行时间 1.099 s
代码语言 C++ 内存使用 0.31 MiB
提交时间 2015-11-04 10:45:06
显示代码纯文本
  1. #include<cstdio>
  2. #include<set>
  3. #include<vector>
  4. #include<map>
  5. #include<iostream>
  6. #include<algorithm>
  7. #include<cmath>
  8. #include<queue>
  9. #define maxn 100000000
  10. #define N 10007
  11. using namespace std;
  12. int i,j,m,n,k,a,b,mx;
  13. double x[105],y[105];
  14.  
  15. int main(){
  16. // freopen("0.txt","r",stdin);
  17. // freopen("1.txt","w",stdout);
  18. freopen("asm_fuel.in","r",stdin);
  19. freopen("asm_fuel.out","w",stdout);
  20. cin>>n;
  21. for(i=0;i<n;i++)scanf("%d%d",&x[i],&y[i]);
  22. for(i=0;i<n;i++)
  23. for(j=i+1;j<n;j++){
  24. int cnt=2;
  25. if(x[j]!=x[i]){
  26. double k1=(y[j]-y[i])/(x[j]-x[i]);
  27. // cout<<y[j]-y[i]<<" "<<x[j]-x[i]<<endl;
  28. //cout<<"x1="<<x[i]<<" "<<"y1="<<y[i]<<" "<<"x2="<<x[j]<<" "<<"y2="<<y[j]<<" "<<"k="<<k1<<"----"<<endl;
  29. for(k=0;k<n;k++){
  30. if(k!=i&&k!=j&&x[k]!=x[j]){
  31. double k2=(y[k]-y[j])/(x[k]-x[j]),o=k1-k2;
  32. if(o>=-1e-6&&o<=1e-6)cnt++; //cout<<"x3="<<x[k]<<" "<<"y3="<<y[k]<<" "<<"k="<<k2<<endl,cout<<"cnt="<<cnt<<endl;
  33. }
  34. }
  35. }
  36. else for(k=0;k<n;k++) if(k!=i&&k!=j)
  37. if(x[k]==x[j])cnt++;
  38. mx=max(cnt,mx);
  39. }
  40. cout<<mx<<endl;
  41. return 0;
  42. }