func_code_string: #include <bits/stdc++.h>   using namespace std;   int n, m;   int l[5005], r[5005], v[105][105], t[105][105];   double res[105], c[5005], f[105][105], cc[105][105];   int main() {     scanf( %d%d , &n, &m);     for (int i = 0; i < m; i++) {       int a, b, x;       scanf( %d%d%d , &a, &b, &x);       l[i] = (--a);       r[i] = (--b);       c[i] = x;       v[a][b] = (v[a][b] == 0) ? x : min(v[a][b], x);       t[a][b]++;       t[b][a]++;     }     int k = n - 2;     for (int i = 1; i <= k; i++) {       for (int j = 0; j < n; j++) {         f[i][i] += t[j][i];         f[i][j] -= t[j][i];       }       f[i][n - 1] = -f[i][0];     }     for (int i = 1; i <= k; i++) {       int t = i;       while (!f[t][i] && t <= k) t++;       if (t > k) continue;       for (int j = i; j <= k + 1; j++) swap(f[i][j], f[t][j]);       for (int j = 1; j <= k; j++) {         if (j != i) {           double tt = f[j][i] / f[i][i];           for (int x = 1; x <= k + 1; x++) f[j][x] -= tt * f[i][x];         }       }     }     for (int i = 1; i <= k; i++) {       if (f[i][i] == 0) continue;       double x = f[i][i];       for (int j = 1; j <= k + 1; j++) f[i][j] /= x;       res[i] = f[i][k + 1];     }     res[0] = 1;     double mn = 1e9 + 7;     for (int i = 0; i < m; i++) {       double x = fabs(res[l[i]] - res[r[i]]);       if (x < 1e-10) continue;       mn = min(mn, c[i] / x);     }     double ans = 0;     for (int i = 0; i < m; i++) cc[l[i]][r[i]] = mn * (res[l[i]] - res[r[i]]);     for (int i = 0; i < m; i++) {       if (l[i] == 0) ans += cc[l[i]][r[i]];       if (r[i] == 0) ans -= cc[l[i]][r[i]];     }     printf( %.5lf n , ans);     for (int i = 0; i < m; i++) printf( %.5lf n , cc[l[i]][r[i]]);     return 0;   }   