uva 270 Lining Up/poj 1118
来源:互联网 发布:买车下个什么app软件 编辑:程序博客网 时间:2024/06/06 20:45
这道题感觉uva上面的测试数据有问题,同样的方法在poj上可以过,uva上就是wa,不知道为什么,一开始超时了,因为没有注意三点共线的判断方法,要点是用向量的外积算夹角正弦值,一开始用的是算余弦值的方法,计算量有点大才造成超时的,改过之后就ac了,其余的都是暴力解法的思路,就不多说了。最后是在poj上过的,uva上面始终wa,不知道怎么回事。
#include <stdio.h>#include <algorithm>using namespace std;struct pos{int x;int y;};struct pos arr[750];bool same_line(int a, int b, int c){int x1, y1, x2, y2;x1 = arr[a].x - arr[b].x;y1 = arr[a].y - arr[b].y;x2 = arr[c].x - arr[b].x;y2 = arr[c].y - arr[b].y;if(x1*y2 - x2*y1 == 0)return true;return false;}void func(int n){int i, j, ii;int count, max_num;if(1 == n){printf("1\n");return;}if(2 == n){printf("2\n");return;}max_num = 2;for(i=n-1; i>=1; i--){for(j=i-1; j>=0; j--){if(2+j <= max_num)continue;count = 2;for(ii=0; ii<j; ii++){if(same_line(ii, j, i))count++;}if(max_num < count)max_num = count;}}printf("%d\n", max_num);}int main(void){int n, i;//freopen("input.dat", "r", stdin);while(1){scanf("%d", &n);if(!n)break;for(i=0; i<n; i++)scanf("%d %d", &(arr[i].x), &(arr[i].y));func(n);}return 0;}
- uva 270 Lining Up/poj 1118
- UVa 270 / POJ 1118 Lining Up (计算几何)
- UVa 270 - Lining Up
- UVa 270 - Lining Up
- uva 270 - Lining Up
- UVa 270 - Lining Up
- UVa 270 - Lining Up
- UVA 270 - Lining Up
- UVA 270 Lining Up
- uva 270 Lining Up
- uva 270 Lining Up
- Lining up(uva 270)
- UVa 270 - Lining Up
- uva 270 - Lining Up
- uva 270 Lining Up
- UVA 270 - Lining Up
- UVA - 270 Lining Up
- Lining Up - UVa 270
- Java排序算法总结(五):归并排序
- 部署hadoop时常见错误解决
- mongodb删除集合后磁盘空间不释放
- POJ1080 Human Gene Functions
- linux内核基础
- uva 270 Lining Up/poj 1118
- win7上MySQL5.6安装与测试(C#)--- 感觉改动很大
- 2014年计算机求职总结--准备篇
- 翻译规则词汇化概率用streaming实现的实例
- HDU2577--How to Type
- java连接SQLServer2008没找到合适驱动问题
- Shark:强大的开源C++机器学习库
- 深入理解C/C++ [Deep C (and C++)]
- 数据挖掘产品 IBM SPSS Modeler 新手使用入门