fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. #define ll long long
  4.  
  5. int main()
  6. {
  7. int t;
  8. cin>>t;
  9. while(t--)
  10. {
  11. ll i,j,k,l,m,n,sum=0,f=0;
  12. cin>>n;
  13. string s1,s2;
  14. cin>>s1>>s2;
  15. map <char,int> mp1,mp2,index1,index2;
  16. for(i=0;i<n;i++)
  17. {
  18. index1[s1[i]]=i;
  19. index2[s2[i]]=i;
  20. mp1[s1[i]]++;
  21. mp2[s2[i]]++;
  22. }
  23. for(i=0;i<n;i++)
  24. {
  25. if(mp1[s2[i]]<1 || s1[i]<s2[i])
  26. {
  27. f=1;
  28. }
  29. }
  30. if(f==1)
  31. cout<<-1<<endl;
  32. else
  33. {
  34. vector <int> arr[n+1];
  35. int o=0;
  36. for(i=0;i<n;i++)
  37. {
  38. if(s1[i]!=s2[i])
  39. {
  40. char ch=s2[i];
  41. for(j=0;j<n;j++)
  42. {
  43. if(s2[j]==ch || s1[j]==ch)
  44. {
  45. arr[o].push_back(j);
  46. s1[j]=ch;
  47. }
  48. }
  49. o++;
  50. }
  51. }
  52. cout<<o<<endl;
  53. for(i=0;i<o;i++)
  54. {
  55. cout<<arr[i].size()<<" ";
  56. for(j=0;j<arr[i].size();j++)
  57. {
  58. cout<<arr[i][j]<<" ";
  59. }cout<<endl;
  60. }
  61.  
  62.  
  63.  
  64. }
  65.  
  66.  
  67. }
  68.  
  69.  
  70.  
  71. }
  72.  
Success #stdin #stdout 0s 4456KB
stdin
Standard input is empty
stdout
Standard output is empty