fork download
  1. //#include<conio.h>
  2. #include<stdio.h>
  3. #include<string.h>
  4. int main()
  5. { //clrscr();
  6. char str[1000002],c[95],p[95];
  7. int len,n,i,decimal=-1,start=-1,end=-1,flag1=0,flag2=0,test,flag3=0;
  8. scanf("%d",&test);
  9. while(test--){
  10. scanf("%d",&n);
  11. for(i=0;i<n;i++)
  12. {
  13. scanf("%s %s",&c[i],&p[i]);
  14. }
  15. c[i]='\0';
  16. p[i]='\0';
  17.  
  18. //printf("\nenter the string \n");
  19. scanf("%s",&str);
  20.  
  21. len=strlen(str);
  22. int j=0;
  23. while(j<len)
  24. {
  25. for(i=0;c[i]!='\0';i++)
  26. if((str[j])==(c[i]))
  27. {str[j]=p[i];break;}
  28. j++;
  29. }
  30. for(i=0,j=len-1;i<len;i++,j--)
  31. {
  32. if(str[i]!='0'&&flag1==0){
  33. start=i;
  34. flag1=1;
  35. }
  36. if(str[j]!='0'&&flag2==0)
  37. {
  38. end=j;
  39. flag2=1;
  40. }
  41. if(str[i]=='.')
  42. { decimal=i;flag3=1;}
  43. }
  44. //printf("%d %d %d\n",start,end,decimal);
  45.  
  46. if(flag3==0)
  47. {
  48. if(start!=-1)
  49. end=len;
  50. else
  51. {
  52. printf("0\n");continue;
  53. }
  54. }
  55. if(flag3)
  56. {
  57. if(start==decimal&&decimal==end)
  58. {printf("0\n");continue;}
  59. else if(start<decimal&&decimal==end)
  60. end=end-1;
  61. }
  62. for(i=start;i<=end;i++){
  63. printf("%c",str[i]);}
  64.  
  65. printf("\n");
  66. flag1=flag2=flag3=0;
  67. decimal=start=end=-1;
  68. }
  69. return 0;//getch();
  70. }
  71.  
Success #stdin #stdout 0s 3152KB
stdin
3
3
x 0
d 3
# .
0xd21#dd098x
0
0.00100
0
01800.00
stdout
321.33098
.001
1800