fork download
  1. #include<iostream>
  2. #include<cstring>
  3. using namespace std;
  4. void modifyme(string &s,int i, int len){
  5. //base case
  6. if(i>=len){
  7. return;
  8. }
  9.  
  10. //recursive case
  11. int leng = s.length();
  12. if(i+1<leng && (s[i] == 'p' && s[i+1] == 'i')){
  13. s.erase(s.begin()+i,s.begin()+i+2);
  14. s.insert(i,"3.14");
  15. modifyme(s,i+4,leng);
  16. }
  17. modifyme(s,i+1,leng);
  18. }
  19. int main() {
  20. int t;
  21. cin>>t;
  22. cin.ignore();
  23. while(t--){
  24.  
  25. string s="";
  26. getline(cin,s);
  27. modifyme(s,0,s.length()-1);
  28. cout<<s<<endl;
  29.  
  30. }
  31. return 0;
  32. }
Success #stdin #stdout 0s 4392KB
stdin
3

xpix

xabpixx3.15x

xpipippixx
stdout

x3.14x

xab3.14xx3.15x

x3.143.14p3.14xx