Advertisement
Alx09

Bianca lab

Jun 1st, 2020
900
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.88 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4.  
  5. int v[100], n;
  6. char st[] = { 0, 'A', 'C', 'D' };
  7.  
  8. void Init(int k) {
  9.     v[k] = 0;
  10. }
  11. int Succesor(int k) {
  12.     if (v[k] < 3) {
  13.         v[k]++;
  14.         return 1;
  15.     }
  16.     return 0;
  17. }
  18.  
  19. int Valid(int k) {
  20.     return 1;
  21. }
  22.  
  23. int Solution(int k) {
  24.     return (k == n);
  25. }
  26.  
  27. void Print() {
  28.     int i;
  29.  
  30.     for (i = 1; i <= n; i++)
  31.         printf("B%c", st[v[i]]);
  32.     printf("\n");
  33.     for (i = 1; i <= n; i++)
  34.         printf("%cB", st[v[i]]);
  35.     printf("\n");
  36. }
  37.  
  38. void Back() {
  39.     int k = 1, isS, isV;
  40.     Init(k);
  41.     while (k > 0) {
  42.         isS = 0; isV = 0;
  43.         if (k <= n)
  44.             do {
  45.                 isS = Succesor(k);
  46.                 if (isS) isV = Valid(k);
  47.             } while (isS && !isV);
  48.             if (isS)
  49.                 if (Solution(k))
  50.                     Print();
  51.                 else {
  52.                     k++;
  53.                     Init(k);
  54.                 }
  55.             else
  56.                 k--;
  57.     }
  58. }
  59.  
  60. int main() {
  61.     printf("n = "); scanf("%d", &n);
  62.     n /= 2;
  63.     Back();
  64.     system("pause");
  65.     return 0;
  66.  
  67. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement