fork(1) download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. string str;
  4. int lim,n,k,j;
  5. map<string,int> mm;
  6. void print(string s,int i)
  7. {
  8. //cout<<s<<endl;
  9. if(s.length()==k)
  10. {
  11. if(!mm[s])
  12. cout<<s<<endl;
  13. mm[s]=1;
  14. return;
  15. }
  16.  
  17. if(i<n)
  18. {
  19. s+=str[i];
  20. print(s,i+1);
  21. s.erase(s.length()-1);
  22. print(s,i+1);
  23. }
  24.  
  25.  
  26. return;
  27.  
  28. }
  29.  
  30. int main ()
  31. {
  32. ios_base::sync_with_stdio(false);
  33. cin.tie(NULL);
  34.  
  35. while(cin>>str>>k)
  36. {
  37. mm.clear();
  38. n=str.length();
  39. sort(str.begin(),str.end());
  40.  
  41. lim=n-k;
  42.  
  43. string s;
  44.  
  45. print (s,0);
  46.  
  47.  
  48. }
  49.  
  50.  
  51. return 0;
  52. }
  53.  
Time limit exceeded #stdin #stdout 5s 4528KB
stdin
aabb 2
aabb 3
abcde 3
aaaa 2
a 1
aa 1
aa 2
aaa 1
aaa 2
aaa 3
aaaa 1
aaaa 2
aaaa 3
aaaa 4
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 1
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 2
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 3
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 15
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 28
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 29
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 30
timg 2
ghtrwe 1
greuiwgnqeruingirndajfk 23
grequignfdangfjadngkfne 23
geruignreiqgnfjlangfeag 22
stdout
aa
ab
bb
aab
abb
abc
abd
abe
acd
ace
ade
bcd
bce
bde
cde
aa
a
a
aa
a
aa
aaa
a
aa
aaa
aaaa
a
aa
aaa
aaaaaaaaaaaaaaa