BestCoder Round #7

 A(hdu4985) - Little Pony and Permutation

 1 #include <cstdio>
 2 
 3 using namespace std;
 4 
 5 #define NN    100010
 6 int g[NN], f[NN];
 7 
 8 int main(void)
 9 {
10     int N;
11     while(scanf("%d", &N) > 0) {
12         for(int i=1; i<=N; ++i) scanf("%d", &f[i]);
13         for(int i=1; i<=N; ++i) g[i] = 0;
14         for(int i=1; i<=N; ++i) {
15             if (!g[i]) {
16                 putchar('(');
17                 int t = i;
18                 do {
19                     printf(t != i? " %d" : "%d", t);
20                     g[t] = 1;
21                     t = f[t];
22                 } while(t != i);
23                 putchar(')');
24             }
25         }
26         putchar('\n');
27     }
28     return 0;
29 }

 

B(hdu4986) - Little Pony and Alohomora Part I

 1 #include <cstdio>
 2 #include <cmath>
 3 using namespace std;
 4 
 5 #define NN    110000
 6 double g[NN + 1];
 7 
 8 int main(void)
 9 {
10     for(int i=1; i<=NN; ++i) g[i] = g[i-1] + 1/(double)i;
11     int N;
12     while(scanf("%d", &N) > 0)
13         printf("%.4f\n", N<=NN ? g[N] : log(N+1) + 0.577215664);
14     return 0;
15 }

 

posted @ 2014-08-31 22:13  e0e1e  阅读(324)  评论(0编辑  收藏  举报