UVa 1388 Graveyard

  将增加雕像后的间距看作1并用四舍五入的思想真是让人称赞,对两个雕像不会移动到同一位置的证明也很巧妙。

  代码如下:

View Code
 1 #include <cstdio>
 2 #include <cmath>
 3 using namespace std;
 4 
 5 int main()
 6 {
 7 #ifdef LOCAL
 8     freopen("in", "r", stdin);
 9 #endif
10     int n, m;
11     while(scanf("%d%d", &n, &m) != EOF)
12     {
13         double ans = 0;
14         for(int i = 1; i < n; i++)
15         {
16             double pos = double(i) * (n+m) / n;
17             ans += fabs(pos - floor(pos+0.5)) / (n+m);
18         }
19         printf("%.4lf\n", ans*10000);
20     }
21     return 0;
22 }
原文地址:https://www.cnblogs.com/xiaobaibuhei/p/2992253.html