uva1388 Graveyard

题目来源:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=456&page=show_problem&problem=4134

刘汝佳《算法竞赛入门经典训练指南》1.1例4

 1 ///2014.4.12
 2 ///uva1388
 3 ///刘汝佳《算法竞赛入门经典训练指南》1.1例4
 4 
 5 #include <iostream>
 6 #include <cstdio>
 7 #include <string>
 8 #include <cmath>
 9 #include <algorithm>
10 #include <climits>
11 using namespace std;
12 
13 int main()
14 {
15     // freopen("in","r",stdin);
16     // freopen("out","w",stdout);
17     int n,m;
18     while( cin>>n>>m ){
19         double sum = 0;
20         for(int i=1 ; i<n ; i++){
21             double d1 = 1.0/n;
22             double d2 = 1.0/(m+n);
23             int num = d1*i/d2;
24             double a = fabs(d1*i-num*d2);
25             double b = fabs(d1*i-(num+1)*d2);
26             if(a<b)
27                 sum += a;
28             else
29                 sum += b;
30         }
31         sum *= 10000;
32         printf("%.4lf\n",sum );
33     }
34     return 0;
35 }

 

posted @ 2014-04-13 00:09  basement_boy  阅读(143)  评论(0编辑  收藏  举报