Ranking (as of 2013-01-14): 956
Language: C++
/* UVa 10081 - Tight Words To build using Visual Studio 2008: cl -EHsc -O2 UVa_10081_Tight_Words.cpp */ #include <cstdio> #include <cmath> const int k_max = 9, n_max = 100; double tight_words[n_max][k_max + 1]; int main() { int k, n; while (scanf("%d %d", &k, &n) != EOF) { for (int i = 0; i <= k; i++) tight_words[0][i] = 1.0; for (int i = 1; i < n; i++) for (int j = 0; j <= k; j++) { tight_words[i][j] = tight_words[i - 1][j]; if (j) tight_words[i][j] += tight_words[i - 1][j - 1]; if (j < k) tight_words[i][j] += tight_words[i - 1][j + 1]; } double tw = 0.0; for (int i = 0; i <= k; i++) tw += tight_words[n - 1][i]; printf("%.5lf\n", (tw * 100.0) / pow(static_cast<double>(k + 1), static_cast<double>(n))); } return 0; }
No comments:
Post a Comment