博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
UVa 270 & POJ 1118 - Lining Up
阅读量:6651 次
发布时间:2019-06-25

本文共 2045 字,大约阅读时间需要 6 分钟。

  题目大意:给一些点,找出一条直线使尽可能多的点在这条直线上,求这条直线上点的个数。

  以每一个点为原点进行枚举,求其它点的斜率,斜率相同则说明在一条直线上。对斜率排序,找出斜率连续相等的最大长度。

1 #include 
2 #include
3 #include
4 using namespace std; 5 #define MAXN 700+10 6 #define PRECISION 10e-9 7 8 struct Point 9 {10 int x, y;11 };12 13 Point point[MAXN];14 double slope[MAXN];15 16 int main()17 {18 #ifdef LOCAL19 freopen("in", "r", stdin);20 #endif21 int N;22 scanf("%d", &N);23 char s[100];24 getchar();25 gets(s);26 while (N--)27 {28 int n = 0; // the number of points29 while (gets(s))30 {31 if (s[0] == '\0') break;32 sscanf(s, "%d%d", &point[n].x, &point[n].y);33 n++;34 }35 int ans = 0;36 for (int i = 0; i < n; i++)37 {38 int zero_cnt = 0, k = 0;39 for (int j = 0; j < n; j++)40 if (i != j)41 {42 if (point[i].x == point[j].x) zero_cnt++;43 else44 {45 slope[k] = 1.0 * (point[j].y - point[i].y) / (point[j].x - point[i].x);46 k++;47 }48 }49 sort(slope, slope+k);50 int same_cnt = 1, maxl = 1;51 for (int i = 1; i <= k; i++)52 {53 if (i < k && fabs(slope[i] - slope[i-1]) < PRECISION)54 {55 same_cnt++;56 }57 else 58 {59 maxl = max(maxl, same_cnt);60 same_cnt = 1;61 }62 }63 maxl = max(maxl, zero_cnt);64 ans = max(ans, maxl+1);65 }66 printf("%d\n", ans);67 if (N) printf("\n");68 }69 return 0;70 }
View Code

  开始WA了两次,各种纠结,也找不出什么问题,忽然想到会不会是精度设的太大了,从10e-6改成10e-9,然后抱着侥幸心理提交了,竟然AC了...这个...算是积累经验吧

转载于:https://www.cnblogs.com/xiaobaibuhei/p/3205088.html

你可能感兴趣的文章
为什么道理都懂,课执行力差的现象如此普遍?
查看>>
人性就会趋向于投机主义(转)
查看>>
latex如何输入正确的 双引号
查看>>
数据结构-线性表-队列
查看>>
.net平台下C#socket通信(中)
查看>>
关于eclipse安装Genymotion插件的方法
查看>>
HDU 1171 Big Event in HDU (多重背包变形)
查看>>
直播新风向 | 云上的专业导播台,让直播更轻松、更便捷
查看>>
ZooKeeper和CAP理论及一致性原则
查看>>
JavaScript 高级系列之节流 [throttle] 与防抖 [debounce]
查看>>
前端和React Native代码互转总结
查看>>
SourceTree 删除远程不存在的TAG
查看>>
ArcBlock 课堂预告 | 密码学,为人人
查看>>
使用canvas绘制dribble风格水波浪
查看>>
基于webpack4.X从零搭建React脚手架
查看>>
编写高质量iOS与OS X代码的52个有效方法(五)
查看>>
程序员之路 学习经验总结分享
查看>>
RXJAVA
查看>>
Vue实现导出excel表格
查看>>
Python 正则表达式 re 模块简明笔记
查看>>