Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2468445
  • 博文数量: 392
  • 博客积分: 7040
  • 博客等级: 少将
  • 技术积分: 4138
  • 用 户 组: 普通用户
  • 注册时间: 2009-06-17 13:03
个人简介

范德萨发而为

文章分类

全部博文(392)

文章存档

2017年(5)

2016年(19)

2015年(34)

2014年(14)

2013年(47)

2012年(40)

2011年(51)

2010年(137)

2009年(45)

分类:

2010-03-20 18:57:26

一起去郊游
Submit: 268   Accepted:61
Time Limit: 1000MS  Memory Limit: 65536K
Description
过了一个寒假,雷雷和囧囧好久没有在一起玩了,所以她们决定在周日的时候一起去爬香山。但是计划总是赶不上变化,她们不能确定自己在周日那天是否都有空, 所以就约好在那天的a点钟到b点钟之间在学十三楼下见。约定如果雷雷先到,那雷雷等候t1分钟之后,如果还没有见到囧囧,那她就可以离开了,郊游的计划取 消;如果囧囧先到,那囧囧等候t2分钟之后,如果还没有见到雷雷,她也可以离开了,郊游的计划取消。
设想雷雷和囧囧两人各自随意地在a点钟到b点钟之间选一个时刻到达学十三楼下,那么请大家帮忙计算一下雷雷和囧囧能够成功去郊游的概率是多少呢?


Input
每组输入包含四个整数:a b t1 t2
(0<= a <=24, 0<= b <=24, a< t1,t2 <1000)
两个数之间用一个空格隔开。
当a=b=t1=t2=0时,输入结束


Output
每组数据,请输出一个浮点数,保留3位小数。

Sample Input

13 14 10 10
0 0 0 0


Sample Output

0.306


Hint
请注意结果的精度,尽量用double

解题方法:
概率论:求满足下面条件的概率
1. y >= x, y <= x + ta
2. y <= x, y >= x - tb
3. 0 <= x,y <= width
做出图形,求出满足上面3个条件的面积占整个正方形面积的比例,即为所求
注意考虑ta, tb > width的情况


#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int main()
{
    double width;
    double area;
    double ar;
    double p;
    int a,b,t1,t2;
    scanf("%d%d%d%d",&a,&b,&t1,&t2);
    while(a!=0||b!=0||t1!=0||t2!=0){
          width=60*(abs(a-b));
          area=width*width;
          if(t1<=width&&t2<=width){
                                   ar=(width-t1)*(width-t1)/2+ (width-t2)*(width-t2)/2;
          }else if(t1<=width&&t2>=width){
                                   ar= (width-t1)*(width-t1)/2;
          }else if(t1>=width&&t2<=width) {
                                    ar=(width-t2)*(width-t2)/2;
          }else{
                  ar=0;
          }
          p=(area-ar)/area;
          printf("%.3f\n",p);
          scanf("%d%d%d%d",&a,&b,&t1,&t2);
    }
     
    system("pause");
}
 


阅读(1284) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~