Source code for submission s818

main.cpp

  1. //BUGS
  2. #include <iostream>
  3. #include <stdio.h>
  4. #include <cmath>
  5. #include <stack>
  6.  
  7. using namespace std;
  8.  
  9. int main(){
  10.  
  11.  
  12. char arr[1000];
  13.  
  14. int n;
  15.  
  16. int c;
  17.  
  18. while(cin >> n){
  19.  
  20. int len = 0;
  21. cin.ignore(1);
  22. while((c=getchar()) && c!='\n' && c!=EOF){
  23. arr[len++] = c;
  24. }
  25. arr[len] = 0;
  26.  
  27. while(n-- > 0){
  28. stack<int> s;
  29. int i = 0;
  30. while((c=getchar()) && c!='\n' && c!=EOF){
  31. if(i < len && c==arr[i]){
  32. if(!s.empty()) s.pop();
  33. s.push(i);
  34. i++;
  35. if(i==len){
  36. s.pop();
  37. if(!s.empty()) i=s.top()+1;
  38. else i = 0;
  39. }
  40. }
  41. else if(c==arr[0]){
  42. i = 1;
  43. s.push(0);
  44. }
  45. else {
  46. while(!s.empty()) {
  47. i = s.top() +1;
  48. int rpos = 0;
  49. while(i--){
  50. printf("%c", arr[rpos++]);
  51. }
  52. s.pop();
  53. }
  54. printf("%c",c);
  55. }
  56. }
  57. printf("\n");
  58. }
  59.  
  60. }
  61.  
  62.  
  63.  
  64. return 0;
  65. }
  66.  
  67.