金华网站建设电话,化工企业网站jsp,找工程去哪个网站,建设网站的必要与可行性题目大意#xff1a;给定n个点#xff0c;求一条直线最多能经过几个点(n1000) 做法#xff1a;大暴力。。。枚举每一个点作为直线的端点#xff0c;然后求出剩下n-1个点和它的斜率#xff0c;斜率相同的说明可以同时在一条直线上 #includebits/stdc.h
#define…题目大意给定n个点求一条直线最多能经过几个点(n1000) 做法大暴力。。。枚举每一个点作为直线的端点然后求出剩下n-1个点和它的斜率斜率相同的说明可以同时在一条直线上 #includebits/stdc.h
#define eps 1e-7
#define N 500005
using namespace std;
int n,cnt;double tmp[N*10];
struct Node{int x,y;}p[N];
inline double getk(Node aa,Node bb){return 1.0*(aa.y-bb.y)/(double)(aa.x-bb.x);}
int main(){int cas0;while (scanf(%d,n)!EOF){if (n0) return 0;cnt0;cas;int ans10;for (int i1;in;i) scanf(%d%d,p[i].x,p[i].y);for (int i1;in;i){cnt0;for (int ji1;jn;j){if (p[i].xp[j].x) tmp[cnt]1e9;else tmp[cnt]getk(p[i],p[j]);//printf(ID%d %d %.4lf\n,i,j,tmp[cnt]);}sort(tmp1,tmpcnt1);int ans0;tmp[0]-1e9;for (int i1;icnt;i){if (fabs(tmp[i]-tmp[i-1])eps){ans1;ans1max(ans1,ans);continue;}else ans,ans1max(ans1,ans);}}ans1;if (ans14) ans10;printf(Photo %d: %d points eliminated\n,cas,ans1);}return 0;
}转载于:https://www.cnblogs.com/ckr1225/p/8988898.html