uvalive 6955 Finding Lines rand()应用
2015-08-27 13:26
267 查看
题目就是问你有没有一条直线可以满足大于等于p%的点在它上面。如果是枚举全部直线的话,会超时。所以用rand函数随机来找直线。
[code]#include<bits/stdc++.h> using namespace std; const int N=100000+5; int x ,y ; int main() { int n,i,k,flag,cnt,tp,t; double p; while(~scanf("%d",&n)) { scanf("%lf",&p); t=n*p; srand(time(0)); for(i=0;i<n;i++) scanf("%d%d",&x[i],&y[i]); flag=0; if(n<=2) {printf("possible\n");continue;} for(i=0;i<1000;i++) { cnt=2; int u=rand()%n,v; while(1) { v=rand()%n; if(u!=v) break; } for(k=0;k<n;k++) { if(k==u||k==v) continue; tp=(x[k]-x[u])*(y[v]-y[u])-(x[v]-x[u])*(y[k]-y[u]); if(tp==0) cnt++; if(cnt*100>=t) flag=1; if(flag) break; } if(flag) break; } if(flag) printf("possible\n"); else printf("impossible\n"); } return 0; }
相关文章推荐
- [技巧篇]15.火狐浏览器缓存设置,提高开发效率!
- TCP/IP TIME_WAIT状态原理
- uvalive 6955 Finding Lines rand()应用
- uva 588 - Video Surveillance(半平面相交)
- 网络通信
- 日语标点符号的用法
- JSON example with RESTEasy + JAXB + Jettison
- Dubbo入门基础与实例讲解
- thinkphp系统常量与自定义常量
- 树的存储结构
- hdoj 1596 find the safest road
- uva 11265 - The Sultan's Problem(多边形切割)
- jQuery formValidator表单验证插件
- 运算符优先级
- 有关ListView优化机制及滑动时数据错乱问题的讨论
- Apache+tomcat集群
- linux grep 查找字符串
- uva 11072 - Points(凸包)
- 几种常见模式识别算法整理和总结
- 【敏捷软件开发:原则、模式与实践】之代码重构