UVALive5379 UVA270 Lining Up
Regionals 1994 >> North America - East Central NA
问题链接:UVALive5379 UVA270 Lining Up。
题意简述:输入n,输入n个整数对,即n个坐标点,问最多共线点数是多少。
问题分析:用暴力法解决这个问题,好在计算规模不算大。
程序中,判断共线时,使用的是乘法,没有用除法,可以保证精确的计算结果。
特别需要说明的是,这个问题虽然与POJ1118 HDU1432 Lining Up是相同的问题,但是数据输入格式不一样,需要特别处理。程序中编写了函数mygetline()实现读入一行,用以代替C语言的库函数gets()(新的C函数库标准中,已将函数gets()剔除,因为该函数容易引起问题)。函数mygetline()中,需要考虑EOF的情形,这是程序员容易忽略的地方。
另外,程序中还使用了函数sscanf()。
AC的C语言程序如下:
/* UVALive5379 UVA270 Lining Up */#include <stdio.h>#define MAXN 700struct {int x, y;
} p[MAXN]; /* point */void mygetline(char *pc)
{char c;while((c=getchar()) != '\n' && c !=EOF)*pc++ = c;*pc = '\0';
}int main(void)
{int t, n, ans, max, i, j, k;char s[128];scanf("%d", &t);getchar();getchar();while(t--) {n = 0;mygetline(s);while(s[0] != '\0') {sscanf(s, "%d%d", &p[n].x, &p[n].y);n++;mygetline(s);}ans = 2;for(i=0; i<n; i++)for(j=i+1; j<n; j++) {max = 2;for(k=j+1; k<n; k++)if ((p[j].x - p[i].x)*(p[k].y - p[j].y) == (p[j].y - p[i].y)*(p[k].x - p[j].x))max++;if(max > ans)ans = max;}printf("%d\n", ans);if(t)printf("\n");}return 0;
}
转载于:https://www.cnblogs.com/tigerisland/p/7564402.html
UVALive5379 UVA270 Lining Up相关推荐
- UVALive5379 UVA270 Lining Up【输入输出+水题】
"How am I ever going to solve this problem?" said the pilot. Indeed, the pilot was not fac ...
- AOAPC I: Beginning Algorithm Contests 题解
AOAPC I: Beginning Algorithm Contests 题解 AOAPC I: Beginning Algorithm Contests (Rujia Liu) - Virtual ...
- ICPC程序设计题解书籍系列之六:吴永辉:《算法设计编程实验》
第1章 Ad Hoc问题 POJ2661 HDU1141 ZOJ2545 UVA10916 Factstone Benchmark[Ad Hoc] UVA10037 Bridge[贪心] POJ257 ...
- POJ1118 HDU1432 Lining Up
问题链接:POJ1118 HDU1432 Lining Up. 题意简述:输入n,输入n个整数对,即n个坐标点,问最多共线点数是多少. 问题分析:用暴力法解决这个问题,好在计算规模不算大. 程序中,判 ...
- HDU 1432 Lining Up (POJ 1118)
枚举,枚举点 复杂度为n^3. 还能够枚举边的,n*n*log(n). POJ 1118 要推断0退出. #include<cstdio> #include<cstring> ...
- UVA 270 Lining Up
大意:判断最多有多少点在同一直线上. 思路:可以通过枚举所有点加判断三点共线去解决,即(y2-x1) /(x2-x1) = (y3-y1)/(x3-x1); 注意输入格式比较特别. CODE: #in ...
- poj 1118 Lining Up(水题)
再思考一下好的方法,水过,数据太弱! 本来不想传的! #include <iostream> using namespace std; #define MAX 702 /*284K 422 ...
- 洛谷 P1142 轰炸
洛谷 P1142 轰炸 题目描述 "我该怎么办?"飞行员klux向你求助. 事实上,klux面对的是一个很简单的问题,但是他实在太菜了. klux要想轰炸某个区域内的一些地方,它们 ...
- 前端资源整理 - 订阅、工具等
取自 我的GITHUB 的 fe-store-house repo,欢迎 PR,欢迎 STAR.原 repo 不定期更新,此文可能断更. 断更了一年多,重新更新一下,似乎 sfgg 的文章渲染中 gf ...
最新文章
- 漫画:最长公共子序列
- CTFshow 文件包含 web87
- EOF的意义及用法(while(scanf(“%d“,n) != EOF))
- Git学习笔记:修改
- 深入理解C语言的函数调用过程
- 数据抽象能力---适合任何行业
- JDK 6中新增的Java Console类功能概览
- asp.net调试技巧
- python实现新闻网站_Python 教你 4 行代码开发新闻网站通用爬虫
- 浙大计算机学院 数字媒体处理与企业智能计算实验室在哪个校区,浙大计算机学院各大实验室介绍.pdf...
- pandas学习之excel重复项判断显示与去重
- python学习(列表,元祖)
- npm i --save 与 --save -dev的区别
- 什么是FOUC?如何避免FOUC?
- QT——连接USB摄像头
- 中国文章剽窃严重 —— 腾讯有暗中保护盗版的嫌疑!
- bga封装扇出过孔,用Allegro软件如何实现BGA封装的扇出?
- [漏洞实战] 逻辑漏洞挖掘
- 批量删除word中的换行符号
- 利用jQuery实现图片轮播