Pagini recente » Cod sursa (job #3175668) | Cod sursa (job #19590) | Cod sursa (job #1449116) | Cod sursa (job #2178638) | Cod sursa (job #615754)
Cod sursa(job #615754)
#include <cstdio>
using namespace std;
#define maxn 256
int n, m, a, b, c, k;
double v[maxn][maxn];
int main()
{
freopen("tunel.in", "r", stdin);
freopen("tunel.out", "w", stdout);
scanf("%d%d", &n, &m);
for(int i=1; i<=m; ++i)
{
scanf("%d%d%d", &a, &b, &c);
++v[a][a]; ++v[b][b];
--v[a][b]; --v[b][a];
v[a][n+1]+=c; v[b][n+1]+=c;
}
for(int i=1; i<=n+1; ++i)
v[n][i]=0;
v[n][n]=1;
for(int i=1, j=1; i<=n && j<=n;)
{
for(int l=j+1; l<=n+1; ++l)
v[i][l] = v[i][l] / v[i][j];
v[i][j] = 1;
for(int u=1; u<=n; ++u)
{
if(u==i)
continue;
for(int l=j+1; l<=n+1; ++l)
v[u][l] -= v[u][j] * v[i][l];
v[u][j] = 0;
}
++i; ++j;
}
printf("%.4lf\n", v[1][n+1]/v[1][1]);
return 0;
}