fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. int main()
  5. {
  6. int t,r,p,s;
  7. string str;
  8. cin >> t;
  9. while(t--)
  10. {
  11. int n;
  12. string ans="";
  13. cin >> n;
  14. cin >> r >> p >> s;
  15. cin >> str;
  16. int wins = 0;
  17. for(int i=0; i<str.length(); i++)
  18. {
  19. if(str[i] == 'R')
  20. {
  21. if(p == 0)
  22. {
  23. ans += "0";
  24. }
  25. else
  26. {
  27. p--;
  28. ans += "P";
  29. wins++;
  30. }
  31. }
  32. else if(str[i] == 'P')
  33. {
  34. if(s == 0)
  35. {
  36. ans += "0";
  37. }
  38. else
  39. {
  40. s--;
  41. ans += 'S';
  42. wins++;
  43. }
  44. }
  45. else
  46. {
  47. if(r == 0)
  48. {
  49. ans += "0";
  50. }
  51. else
  52. {
  53. r--;
  54. ans += 'R';
  55. wins++;
  56. }
  57. }
  58. }
  59. if(wins >= ceil(n/2) )
  60. {
  61. cout << "YES\n";
  62. for(int i=0; i<ans.length(); i++)
  63. {
  64. if(ans[i] != '0')
  65. {
  66. cout << ans[i];
  67. }
  68. else
  69. {
  70. if(r > 0)
  71. {
  72. cout << "R"; r--;
  73. }
  74. else if(p > 0)
  75. {
  76. cout << "P"; p--;
  77. }
  78. else if(s > 0)
  79. {
  80. cout << "S"; s--;
  81. }
  82. }
  83. }
  84. cout << "\n";
  85. }
  86. else
  87. cout << "NO\n";
  88. }
  89. return 0;
  90. }
Success #stdin #stdout 0s 4512KB
stdin
7
2
1 1 0
RR
2
2 0 0
SS
2
2 0 0
RR
3
1 2 0
RRR
3
2 1 0
RRR
1
1 0 0
P
1
1 0 0
S
stdout
YES
PR
YES
RR
NO
YES
PPR
YES
PRR
YES
R
YES
R