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相关推荐

  1. UVALive5379 UVA270 Lining Up【输入输出+水题】

    "How am I ever going to solve this problem?" said the pilot. Indeed, the pilot was not fac ...

  2. AOAPC I: Beginning Algorithm Contests 题解

    AOAPC I: Beginning Algorithm Contests 题解 AOAPC I: Beginning Algorithm Contests (Rujia Liu) - Virtual ...

  3. ICPC程序设计题解书籍系列之六:吴永辉:《算法设计编程实验》

    第1章 Ad Hoc问题 POJ2661 HDU1141 ZOJ2545 UVA10916 Factstone Benchmark[Ad Hoc] UVA10037 Bridge[贪心] POJ257 ...

  4. POJ1118 HDU1432 Lining Up

    问题链接:POJ1118 HDU1432 Lining Up. 题意简述:输入n,输入n个整数对,即n个坐标点,问最多共线点数是多少. 问题分析:用暴力法解决这个问题,好在计算规模不算大. 程序中,判 ...

  5. HDU 1432 Lining Up (POJ 1118)

    枚举,枚举点 复杂度为n^3. 还能够枚举边的,n*n*log(n). POJ 1118 要推断0退出. #include<cstdio> #include<cstring> ...

  6. UVA 270 Lining Up

    大意:判断最多有多少点在同一直线上. 思路:可以通过枚举所有点加判断三点共线去解决,即(y2-x1) /(x2-x1) = (y3-y1)/(x3-x1); 注意输入格式比较特别. CODE: #in ...

  7. poj 1118 Lining Up(水题)

    再思考一下好的方法,水过,数据太弱! 本来不想传的! #include <iostream> using namespace std; #define MAX 702 /*284K 422 ...

  8. 洛谷 P1142 轰炸

    洛谷 P1142 轰炸 题目描述 "我该怎么办?"飞行员klux向你求助. 事实上,klux面对的是一个很简单的问题,但是他实在太菜了. klux要想轰炸某个区域内的一些地方,它们 ...

  9. 前端资源整理 - 订阅、工具等

    取自 我的GITHUB 的 fe-store-house repo,欢迎 PR,欢迎 STAR.原 repo 不定期更新,此文可能断更. 断更了一年多,重新更新一下,似乎 sfgg 的文章渲染中 gf ...

最新文章

  1. 漫画:最长公共子序列
  2. CTFshow 文件包含 web87
  3. EOF的意义及用法(while(scanf(“%d“,n) != EOF))
  4. Git学习笔记:修改
  5. 深入理解C语言的函数调用过程
  6. 数据抽象能力---适合任何行业
  7. JDK 6中新增的Java Console类功能概览
  8. asp.net调试技巧
  9. python实现新闻网站_Python 教你 4 行代码开发新闻网站通用爬虫
  10. 浙大计算机学院 数字媒体处理与企业智能计算实验室在哪个校区,浙大计算机学院各大实验室介绍.pdf...
  11. pandas学习之excel重复项判断显示与去重
  12. python学习(列表,元祖)
  13. npm i --save 与 --save -dev的区别
  14. 什么是FOUC?如何避免FOUC?
  15. QT——连接USB摄像头
  16. 中国文章剽窃严重 —— 腾讯有暗中保护盗版的嫌疑!
  17. bga封装扇出过孔,用Allegro软件如何实现BGA封装的扇出?
  18. [漏洞实战] 逻辑漏洞挖掘
  19. 批量删除word中的换行符号
  20. 利用jQuery实现图片轮播

热门文章

  1. 防止******ADSL的一些技巧
  2. Vue父组件和子组件之间传递数据
  3. Linux下的man命令
  4. mysql 启动错误-server PID file could not be found
  5. 【IT基础】常见的开发文档
  6. 记录一次maven jar包冲突的排查过程
  7. 构建之法课后作业第二次作业第一题
  8. linux系统安全加固脚本
  9. percona-5.5安装笔记
  10. py02-python基础