Advertisement
Saleh127

UVA 10776

Aug 19th, 2020
117
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.10 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. #define Clear(a) memset(a,0,sizeof(a))
  3. using namespace std;
  4. int n,l;
  5. char ss[2000];
  6. vector<char>ans;
  7. bool taken[1000];
  8. void reset()
  9. {
  10. Clear(ss);
  11. Clear(taken);
  12. ans.clear();
  13. }
  14.  
  15. void bcktk()
  16. {
  17.  
  18. if(ans.size()==n)
  19. {
  20. for(int j=0;j<n;j++)
  21. {
  22. cout<<ans[j];
  23. }
  24. cout<<endl;
  25. }
  26. else
  27. {
  28. for(int i=0;i<l;i++)
  29. {
  30. if(!ans.empty()&& ans[ans.size()-1]>ss[i])
  31. {
  32. continue;
  33. }
  34. if(taken[i]==0)
  35. {
  36. taken[i]=1;
  37. ans.push_back(ss[i]);
  38. bcktk();
  39. taken[i]=0;
  40. ans.pop_back();
  41. while(ss[i]==ss[i+1])
  42. {
  43. i++;
  44. }
  45. }
  46. }
  47. }
  48. }
  49.  
  50. int main()
  51. {
  52. ios_base::sync_with_stdio(0);
  53. cin.tie(0);cout.tie(0);
  54.  
  55. int c,d,e,i,j,k;
  56. while(cin>>ss>>n)
  57. {
  58. l=strlen(ss);
  59. sort(ss,ss+l);
  60. bcktk();
  61.  
  62. reset();
  63. }
  64.  
  65.  
  66. return 0;
  67. }
  68.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement