Pagini recente » Cod sursa (job #3186498) | Cod sursa (job #2197403) | Cod sursa (job #3173567) | Cod sursa (job #83144) | Cod sursa (job #981573)
Cod sursa(job #981573)
#include <fstream>
#include <vector>
#include <iomanip>
#define MAXN 260
#define EPS 0.0000001
#define ABS(p) ((p>0)?(p):(-p))
using namespace std;
ifstream f("tunel.in");
ofstream g("tunel.out");
int n,m,a,b,c;
double ec[MAXN][MAXN],aux,x;
int main()
{
int i,j,k,ii;
f>>n>>m;
for(i=1;i<=m;i++){
f>>a>>b>>c;
ec[a][a]--;
ec[b][b]--;
ec[a][n+1]+=c;
ec[b][n+1]+=c;
ec[a][b]=ec[b][a]=1;}
for(i=1;i<=n+1;i++)
ec[n][i]=0;
ec[n][n]=1;
for(i=1,j=n;j>=1;j--,i++){
for(k=i;ABS(ec[k][j])<EPS;k++);
x=ec[k][j];
for(ii=1;ii<=n+1;ii++){
aux=ec[i][ii];
ec[i][ii]=ec[k][ii]/x;
ec[k][ii]=aux;}
for(k=i+1;k<=n;k++)
if(ABS(ec[k][j])>EPS){
x=-ec[k][j];
for(ii=1;ii<=n+1;ii++)
ec[k][ii]+=x*ec[i][ii];}}
g<<fixed<<setprecision(5)<<-ec[n][n+1]<<'\n';
f.close();
g.close();
return 0;
}