Pagini recente » Cod sursa (job #1247476) | Cod sursa (job #1957944) | Cod sursa (job #670537) | Cod sursa (job #2340569) | Cod sursa (job #806914)
Cod sursa(job #806914)
#include <fstream>
using namespace std;
ifstream fin ("tunel.in");
ofstream fout ("tunel.out");
#define MAXN 300
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;
fin >> n >> m;
for (i = 1; i <= m; ++i) {
fin >> x >> y >> c;
add(x, y, c);
add(y, x, c);
}
gauss();
fout << v[1][n];
return 0;
}