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 }
原文:http://www.cnblogs.com/e0e1e/p/bestcoder_7.html