Pagini recente » Cod sursa (job #1697185) | Cod sursa (job #2315385) | Cod sursa (job #1378584) | Cod sursa (job #2400454) | Cod sursa (job #708787)
Cod sursa(job #708787)
#include <fstream>
using namespace std;
const int N=261;
double v[N][N];
int n;
ifstream in("tunel.in");
ofstream out("tunel.out");
void reduce(double a[],double b[],double x)
{
for (int i=1;i<=n;i++)
a[i]-=b[i]*x;
}
int gauss()
{
double x;
for (int i=1;i<n;i++)
{
x=v[i][i];
for (int j=1;j<=n;j++)
v[i][j]/=x;
for (int j=1;j<=n;j++)
if (i!=j)
reduce(v[j],v[i],v[j][i]);
}
return v[1][n];
}
void work(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 m,x,y,c;
in>>n>>m;
while (m--)
{
in>>x>>y>>c;
work(x,y,c);
work(y,x,c);
}
out<<gauss()<<"\n";
return 0;
}