tungSfer

Untitled

Jul 9th, 2021 (edited)
245
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.28 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2.  
  3. #define ll long long
  4. #define el endl
  5. #define umi unordered_map<int, int>
  6. #define umll unordered_map<ll, ll>
  7. #define all(vect) vect.begin(), vect.end()
  8. #define reset(A) memset(A, true, sizeof(A))
  9. #define approx(n) fixed << setprecision(n)
  10. #define pb push_back
  11.  
  12. const int mod = 1e9 + 7;
  13.  
  14. using namespace std;
  15.  
  16. int n, a[15];
  17. string s[15];
  18. bool check[15];
  19. int minn = INT_MAX;
  20.  
  21. int ok()
  22. {
  23.     int res = 0;
  24.     for(int i = 1; i < n; i++)
  25.     {
  26.         for(int j = 0; j < s[a[i]].size(); j++)
  27.         {
  28.             for(int k = 0; k < s[a[i + 1]].size(); k++)
  29.             {
  30.                 if(s[a[i]][j] == s[a[i + 1]][k])
  31.                     res++;
  32.             }
  33.         }
  34.     }
  35.     return res;
  36. }
  37.  
  38. void back(int i)
  39. {
  40.     for(int j = 1; j <= n; j++)
  41.     {
  42.         if(check[j])
  43.         {
  44.             a[i] = j;
  45.             check[j] = false;
  46.             if(i == n)
  47.             {
  48.                 minn = min(minn, ok());
  49. //              for(int i = 1; i <= n; i++)
  50. //              {
  51. //                  cout << a[i] << " ";
  52. //              }
  53. //              cout << el << el;
  54. //              cout << minn << el;
  55.             }
  56.             else
  57.                 back(i + 1);
  58.             check[j] = true;
  59.         }
  60.            
  61.            
  62.     }
  63. }
  64.  
  65. void solve()
  66. {
  67.     reset(check);
  68.     cin >> n;
  69.     minn = 100000;
  70.     for(int i = 1; i <= n; i++)
  71.     {
  72.         cin >> s[i];
  73.     }
  74.     back(1);
  75.     cout << minn << el;
  76. }
  77.  
  78. int main()
  79. {
  80.     int t = 1;
  81. //  cin >> t;
  82. //  cin.ignore();
  83.     while(t--)
  84.     {
  85.         solve();
  86.     }
  87.     return 0;
  88. }
  89.  
  90.  
  91.  
Add Comment
Please, Sign In to add comment