Pagini recente » Cod sursa (job #3791) | Cod sursa (job #103514) | Cod sursa (job #3248043) | Sedinta 2007-10-24 | Cod sursa (job #1799019)
#include <bits/stdc++.h>
#define MAXN 300
using namespace std;
ifstream f("tunel.in");
ofstream g("tunel.out");
int n, m;
double v[MAXN][MAXN];
void reduce(int x, int y, double c) {
for (int i = 1; i <= n; ++i) v[x][i] -= c * v[y][i];
}
void gauss() {
int i, j;
double x;
for (i = 1; i < n; ++i) {
x = v[i][i];
for (j = 1; j <= n; ++j) v[i][j] /= x;
for (j = 1; j <= n; ++j)
if (j != i) reduce (j, i, v[j][i]);
}
}
void add(int x, int y, int c) {
if (x == n) return;
v[x][x]++;
v[x][n] += c;
if(y != n) v[x][y]--;
}
int main() {
int i, x, y, c;
f>> n >> m;
for (i = 1; i <= m; ++i) {
f>> x >> y >> c;
add(x, y, c);
add(y, x, c);
}
gauss();
g<<fixed<<setprecision(3)<<v[1][n];
return 0;
}