func_code_string: #include <bits/stdc++.h>   using namespace std;   double g[110][110], x[110];   int n, m, ues[110];   pair<pair<int, int>, int> p[5010];   bool vis[110];   void read(int &x) {     char ch = getchar();     int mark = 1;     for (; ch !=  -  && (ch <  0  || ch >  9 ); ch = getchar())       ;     if (ch ==  - ) mark = -1, ch = getchar();     for (x = 0; ch >=  0  && ch <=  9 ; ch = getchar()) x = x * 10 + ch - 48;     x *= mark;   }   double Abs(double x) {     if (x < 0) return -x;     return x;   }   int main() {     read(n);     read(m);     g[1][1] = 1;     g[n][n] = 1;     g[n][n + 1] = 1;     for (int i = 1; i <= m; i++) {       read(p[i].first.first);       read(p[i].first.second);       read(p[i].second);       g[p[i].first.first][p[i].first.first]++;       g[p[i].first.first][p[i].first.second]--;       g[p[i].first.second][p[i].first.second]++;       g[p[i].first.second][p[i].first.first]--;     }     for (int i = 1; i <= n; i++) {       for (int j = 1; j <= n; j++)         if (Abs(g[i][j]) && !vis[j]) {           vis[j] = 1;           ues[i] = j;           break;         }       for (int j = 1; j <= n; j++)         if (ues[i] != j && Abs(g[j][i])) {           double tmp = -g[j][i] / g[ues[i]][i];           for (int k = 1; k <= n + 1; k++) g[j][k] += g[ues[i]][k] * tmp;         }     }     for (int i = 1; i <= n; i++) x[i] = g[ues[i]][n + 1] / g[ues[i]][i];     double Min = 1e20;     for (int i = 1; i <= m; i++) {       if (Abs(x[p[i].first.first] - x[p[i].first.second]) > 1e-6)         Min = min(Min,                   p[i].second / Abs(x[p[i].first.first] - x[p[i].first.second]));     }     double ans = 0;     for (int i = 1; i <= m; i++)       if (p[i].first.first == 1)         ans += Min * (x[p[i].first.second] - x[p[i].first.first]);       else if (p[i].first.second == 1)         ans -= Min * (x[p[i].first.second] - x[p[i].first.first]);     printf( %.5lf n , ans);     if (Abs(ans) < 1e-6) memset(x, 0, sizeof(x));     for (int i = 1; i <= m; i++)       printf( %.5lf n , Min * (x[p[i].first.second] - x[p[i].first.first]));     return 0;   }   