fork download
  1. #include <bits/stdc++.h>
  2. #define ll long long
  3. using namespace std;
  4.  
  5. int n, k, a[20];
  6. //a = 0, b = 1
  7. bool kt(int a[], int n){
  8. int dem = 0, cnt = 0;
  9. for(int i = 1; i <= n; ++i){
  10. if(a[i] == 0){
  11. cnt++;
  12. }
  13. else{
  14. if(cnt == k){
  15. ++dem;
  16. }
  17. cnt = 0;
  18. }
  19. }
  20. if(cnt == k) ++dem;
  21. return dem == 1;
  22. }
  23.  
  24. void ktao(){
  25. for(int i = 1; i <= n; ++i)
  26. a[i] = 0;
  27. }
  28. int check = 0;
  29. void sinh(){
  30. int i = n;
  31. while(i >= 1 && a[i] == 1){
  32. a[i] = 0;
  33. --i;
  34. }
  35. if(i == 0) check = 1;
  36. else a[i] = 1;
  37. }
  38. int main()
  39. {
  40. cin >> n >> k;
  41. ktao();
  42. vector<vector<char>>ans;
  43. while(!check){
  44. if(kt(a, n)){
  45. vector<char>v;
  46. for(int j = 1; j <= n; ++j)
  47. if(a[j] == 1) v.push_back('B');
  48. else v.push_back('A');
  49. ans.push_back(v);
  50. }
  51. sinh();
  52. }
  53. cout << ans.size() << "\n";
  54. for(auto x : ans){
  55. for(int i = 0; i < x.size(); ++i)
  56. cout << x[i];
  57. cout << '\n';
  58. }
  59. return 0;
  60. }
Success #stdin #stdout 0s 5284KB
stdin
Standard input is empty
stdout
1