func_code_string: #include <bits/stdc++.h>   using namespace std;   const int big = 1e9;   int dp[83][83][83][83], d[100][100];   int s[100][100][100], s1[100][100][100];   int n, kt, m, u, v, c;   int main() {     cin >> n >> kt >> m;     for (int i = 1; i <= n; i++)       for (int j = 1; j <= n; j++) d[i][j] = -1;     for (int i = 1; i <= m; i++) {       cin >> u >> v >> c;       if (d[u][v] == -1)         d[u][v] = c;       else         d[u][v] = min(d[u][v], c);     }     for (int k = 1; k <= kt; k++)       for (int i = 0; i <= n + 1; i++)         for (int j = 0; j < i; j++)           for (int l = i + 1; l <= n + 1; l++) dp[k][i][j][l] = -1;     for (int k = 1; k <= kt; k++)       for (int i = 0; i <= n + 1; i++)         for (int j = 0; j <= n + 1; j++) {           s[k][i][j] = big;           s1[k][i][j] = big;         }     for (int k = 1; k <= kt; k++) {       for (int i = 1; i <= n; i++)         for (int j = 0; j < i; j++)           for (int l = i + 1; l <= n + 1; l++) {             if (j != 0 || k == 1)               if (d[j][i] > -1 && s[k - 1][j][l] != big)                 dp[k][i][j][l] = s[k - 1][j][l] + d[j][i];             if (l != n + 1 || k == 1)               if (d[l][i] > -1 && s1[k - 1][l][j] != big) {                 if (dp[k][i][j][l] == -1)                   dp[k][i][j][l] = s1[k - 1][l][j] + d[l][i];                 else                   dp[k][i][j][l] = min(dp[k][i][j][l], s1[k - 1][l][j] + d[l][i]);               }           }       for (int i = 1; i <= n; i++)         for (int j = 0; j < i; j++)           for (int l = i + 1; l <= n + 1; l++)             if (dp[k][i][j][l] != -1)               s[k][i][l] = min(s[k][i][l], dp[k][i][j][l]);       for (int i = 1; i <= n; i++)         for (int j = 0; j < i; j++)           for (int l = i + 1; l <= n + 1; l++)             if (dp[k][i][j][l] != -1)               s1[k][i][j] = min(s1[k][i][j], dp[k][i][j][l]);     }     int mini = 1e9;     for (int i = 1; i <= n; i++)       for (int j = 0; j < i; j++)         for (int l = i + 1; l <= n + 1; l++)           if (dp[kt][i][j][l] != -1) mini = min(mini, dp[kt][i][j][l]);     if (mini == 1e9)       printf( -1 n );     else       printf( %d n , mini);     return 0;   }   