Advertisement
NS2A2

Hoán Vị +1 =>Người đi du lịch

May 14th, 2020
138
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.77 KB | None | 0 0
  1. #include <iostream>
  2. #include <bits/stdc++.h>
  3.  
  4. using namespace std;
  5.  
  6. const int maxn=1e3;
  7.  
  8. int n;
  9. int check[maxn];
  10. int x[maxn];
  11. int c[maxn][maxn];
  12. int pr=0;
  13. int opr=INT_MAX;
  14.  
  15. void backtracking(int k)
  16. {
  17.      for (int i=2;i<=n;i++)
  18.         if (check[i]==0)
  19.         {
  20.             check[i]=1;
  21.             x[k]=i;
  22.             pr += c[x[k-1]][i];
  23.             if (k==n){
  24.                 for (int j=1;j<=n;j++)
  25.                     opr=min(opr,pr);
  26.             }else backtracking(k+1);
  27.                 check[i]=0;
  28.                 x[k]=0;
  29.                 pr-= c[x[k-1]][i];
  30.         }
  31. }
  32.  
  33. int main()
  34. {
  35.     cin>>n;
  36.     for (int i=1;i<=n;i++)
  37.         for (int j=1;j<=n;j++)
  38.             cin>>c[i][j];
  39.     x[1]=1;
  40.     backtracking(2);
  41.     cout<<opr;
  42.     return 0;
  43. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement