POJ 1118 Lining Up G++

xiaoxiao2021-02-27  208

#include <iostream> #include <vector> #include <utility> #include <algorithm> #include <cstdio> using namespace std; //英语 //抄博友程序 没掌握 斜率比较用乘法快 求斜率不用排序 //加 vector map 都 TLE double x[1000],y[1000]; int main() { while(1) { int n; //cin>>n; scanf("%d",&n); if(n==0) { break; } //vector<pair<double,double> > ve; for(int i=0;i<n;i++) { scanf("%lf%lf",&x[i],&y[i]);//输出格式 //cin>>x>>y; //ve.push_back(make_pair(x,y)); } //sort(ve.begin(),ve.end());//除法排序 百练能通过 poj超时 除法不排序wa int jg=0; for(int i=0;i<n;i++) { for(int j=i+1;j<n;j++) { int js=2; for(int k=j+1;k<n;k++) { double xl=(x[j]-x[i])*(y[k]-y[i]); double yl=(x[k]-x[i])*(y[j]-y[i]);//乘法比除法省时 除法比较超时 除法还要考虑为零的情况 if(yl==xl) { //cout<<i<<" "<<j<<" "<<k<<endl; js++; } } jg=max(jg,js); } } printf("%d\n",jg); //cout<<jg<<endl; } return 0; }

 

转载请注明原文地址: https://www.6miu.com/read-11378.html

最新回复(0)