hdu 2540 遮挡判断 判断有多少根柱子的投影没有被完全遮挡
来源:互联网 发布:sql declare 多个变量 编辑:程序博客网 时间:2024/04/27 12:23
遮挡判断
Time Limit: 10000/3000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 659 Accepted Submission(s): 197
Problem Description
在一个广场上有一排沿着东西方向排列的石柱子,阳光从东边以一定的倾角射来(平行光)。有的柱子可能被在他东边的高大的柱子的影子给完全遮挡住了。现在你要解决的问题是求出有多少柱子是没有被完全遮挡住的。
假设每个石柱子是一根细棒,而且都垂直于地面摆放。
假设每个石柱子是一根细棒,而且都垂直于地面摆放。
Input
输入包含多组数据。每组数据第一行是一个整数N(0<N<=100000),表示柱子的个数。N=0代表输入结束。接下来有N行,每行是两个整数,分别给出每根柱子的水平位置X和高度H(X越大,表示越在西边,0<=X<=10000000,0<H<=10000000保证不会有两根柱子在同一个X坐标上)。最后有一行,以分数的形式给出太阳光与地面的夹角的正切值T/A(1<=A,T<=10)。
Output
对每组数据,输出包含所求数目的一行。
Sample Input
40 33 12 21 11/10
Sample Output
2提示:输入数据很多,请用scanf代替cin。
Source
UESTC 6th Programming Contest Online
Recommend
lcy
思路: 每个柱子都会在x轴上映射出一个区间 那么只要看被包含的区间有多少个 用总的减去被包含的区间的个数即可
#include<stdio.h>#include<string.h>#include<stdlib.h>struct haha{ double s; double h; double e;}a[111111];//bool vis[10000000+100];int cmp(const void *a,const void *b){ return (*(struct haha *)a).s>(*(struct haha *)b).s?1:-1;}int main(){ int n,i,j; while(scanf("%d",&n)!=EOF) { if(!n) break; double tan,c,b; for(i=0;i<n;i++) scanf("%lf %lf",&a[i].s,&a[i].h); scanf("%lf/%lf",&c,&b); tan=c/b; //printf("%lf\n",tan); qsort(a,n,sizeof(a[0]),cmp); for(i=0;i<n;i++) { a[i].e=a[i].s+a[i].h/tan; // printf("s=%lf e=%lf\n",a[i].s,a[i].e); } int cnt=n; double s,e; s=a[0].s;e=a[0].e; for(i=1;i<n;i++) { if(a[i].e<=e&&a[i].s>=s) cnt--; else { if(a[i].e>e) {e=a[i].e;s=a[i].s;} } } printf("%d\n",cnt); } return 0;}
- hdu 2540 遮挡判断 判断有多少根柱子的投影没有被完全遮挡
- 判断一个窗体是否被完全遮挡
- 判断窗口是否被完全遮挡的方法
- hdu 2540 遮挡判断 (生气版)
- 遮挡判断
- 遮挡判断
- 杭电2540遮挡判断
- hdoj 2540 遮挡判断 【数学题】
- HDOJ 2540 遮挡判断(数学)
- HDU_2540 遮挡判断
- HDOJ 2054 遮挡判断
- hdoj 遮挡判断 2540 (简单数学)
- android 判断view 是否被遮挡
- Android 判断view是否被遮挡
- Android 判断View是否被遮挡
- 判断 n 以内的完全数有多少个!
- VC中判断指定窗口是否被其他窗口遮挡
- Android多层级判断view是否被遮挡
- How to read crash dump of Android
- 河软CSDN高校俱乐部迎来“后可视化编程时代”的巡讲
- json与java、xml相互转换——json-lib
- 两分钟彻底让你明白Android Activity生命周期
- 红黑所-1996-2011年中国黑客大事记
- hdu 2540 遮挡判断 判断有多少根柱子的投影没有被完全遮挡
- 文笔流畅,修辞得体
- Activity的跳转与传值
- C++的性能优化实践
- Linux的异步IO
- Linux下Mysql自启动
- 听社河的1
- java代码中的冒泡排序法
- 一个关于抽象类和接口本质区别