fork download
  1. #include <stdio.h>
  2. #include <string.h>
  3.  
  4. void fib(char bank[][700], char result[700], int n) {
  5. char temp[700];
  6. for (int i = 2; i <= n; i++) {
  7. if (i > 2) {
  8. strcpy(bank[i - 1], result);
  9. }
  10. for (int k = 0; bank[i - 1][k] != 0; k++) {
  11. result[k] = bank[i - 1][k];
  12. }
  13. strcat(result, bank[i - 2]);
  14. }
  15. }
  16.  
  17. int main(void) {
  18. int cases = 0;
  19. scanf("%d", &cases); getchar();
  20.  
  21. for (int i = 1; i <= cases; i++) {
  22. int n = 0;
  23. char first[5] = {0};
  24. char wordBank[700][700] = {0}; // <================== changed here only
  25. char result[700] = "#";
  26. scanf("%d %c %c", &n, &first[0], &first[1]); getchar();
  27. wordBank[0][0] = first[0];
  28. wordBank[1][0] = first[1];
  29.  
  30. if (n == 0) {
  31. printf("Case #%d: %c\n", i, first[0]);
  32. } else if (n == 1) {
  33. printf("Case #%d: %c\n", i, first[1]);
  34. } else if (n > 1) {
  35. fib(wordBank, result, n);
  36. printf("Case #%d: %s\n", i, result);
  37. }
  38. }
  39. return 0;
  40. }
  41.  
Success #stdin #stdout 0s 5516KB
stdin
4
2 a b
3 a b
4 a b
12 a b
stdout
Case #1: ba
Case #2: bab
Case #3: babba
Case #4: babbababbabbababbababbabbababbabbababbababbabbababbababbabbababbabbababbababbabbababbabbababbababbabbababbababbabbababbabbababbababbabbababbababbabbababbabbababbababbabbababbabbababbababbabbababbababbabbababbabbababbababbabbababbabba