Source code for submission s891

Go to diff to previous submission

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())){
  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. if(c=='\n' || c==EOF) break;
  56.  
  57. }
  58. }
  59. //printf("\n");
  60. }
  61. }
  62.  
  63.  
  64.  
  65. return 0;
  66. }
  67.  
  68.  

Diff to submission s818

main.cpp

--- c4.s818.cteam039.bugs.cpp.0.main.cpp
+++ c4.s891.cteam039.bugs.cpp.0.main.cpp
@@ -28,5 +28,5 @@
                         stack<int> s;                   
                         int i = 0;
-                        while((c=getchar()) && c!='\n' && c!=EOF){
+                        while((c=getchar())){
                                 if(i < len && c==arr[i]){                                                                               
                                         if(!s.empty()) s.pop(); 
@@ -52,10 +52,11 @@
                                                 s.pop();                                
                                         }
-                                        printf("%c",c);                                 
+                                        printf("%c",c); 
+                                        if(c=='\n' || c==EOF) break;                                    
+                                        
                                 }                               
                         }
-                        printf("\n");
-                }               
-                
+                        //printf("\n");
+                }       
         }