Run Time: 0.000
Ranking (as of 2016-03-13): 47 out of 434
Language: C++
/* UVa 11452 - Dancing the Cheeky-Cheeky To build using Visual Studio 2012: cl -EHsc -O2 UVa_11452_Dancing_the_Cheeky-Cheeky.cpp */ #include <cstdio> #include <cstring> const int nr_steps_max = 2000; char steps[nr_steps_max + 1]; int main() { int nr_cases; scanf("%d", &nr_cases); while (nr_cases--) { scanf("%s", steps); int nr_steps = strlen(steps); for (int n = nr_steps / 2, m = (nr_steps + 2) / 3; n >= m; n--) { int i = nr_steps - 1, j = nr_steps - 1 - n, k = nr_steps - n; for ( ; i >= k; i--, j--) if (steps[i] != steps[j]) break; if (i < k) { if (n < 8) { for (i = 0; i < 8; i++) putchar(steps[k + i % n]); puts("..."); } else { steps[k + 8] = '\0'; printf("%s...\n", &steps[k]); } break; } } } return 0; }
No comments:
Post a Comment