fork download
  1. #include <bits/stdc++.h>
  2.  
  3. using namespace std;
  4. #define int long long
  5. #define yes cout << "YES\n";
  6. #define no cout << "NO\n";
  7.  
  8.  
  9. void FastIO(){
  10. ios_base::sync_with_stdio(false);
  11. cin.tie(nullptr);
  12. cout.tie(nullptr);
  13. }
  14.  
  15. void solve(){
  16. string s,t;
  17. cin >> s >> t;
  18.  
  19. map<char,int>freqs,freqt;
  20. for(char c : s){
  21. freqs[c]++;
  22. }
  23.  
  24. for(char c : t){
  25. freqt[c]++;
  26. }
  27. vector<int> indexes;
  28.  
  29. for(char c : t){
  30. int index;
  31. if(freqs[c] >= freqt[c]){
  32. int count = freqs[c];
  33.  
  34. for(int j = 0; j < s.size(); j++){
  35. if(c == s[j] && count > freqt[c]){
  36. --count;
  37. }
  38. else if(c == s[j] && count == freqt[c]){
  39. index = j;
  40. --freqt[c];
  41. break;
  42. }
  43. }
  44. indexes.push_back(index);
  45. }
  46. else{
  47. no
  48. return;
  49. }
  50. }
  51.  
  52. vector <int> check = indexes;
  53.  
  54. sort(check.begin(), check.end());
  55.  
  56. if(indexes == check) yes
  57. else no
  58. }
  59.  
  60.  
  61. signed main(){
  62. FastIO();
  63.  
  64. int t = 1;
  65. cin >> t;
  66.  
  67. while (t--){
  68. solve();
  69. }
  70. return 0;
  71. }
Success #stdin #stdout 0.01s 5276KB
stdin
6
DETERMINED TRME
DETERMINED TERM
PSEUDOPSEUDOHYPOPARATHYROIDISM PEPA
DEINSTITUTIONALIZATION DONATION
CONTEST CODE
SOLUTION SOLUTION
stdout
YES
NO
NO
YES
NO
YES