#include #include #include #include #include #include #include #include #include #define INT int struct Group { INT a; INT b; INT c; }; using namespace std; int main() { INT n, m; INT i, j, k; Group gr[190]; double pr[20]; fill(pr, pr + 20, 1000.0); cin >> n >> m; for (i = 0; i < m; i++) { auto &z = gr[i]; cin >> z.a >> z.b >> z.c; } pr[0] = 1.0; for (i = 0; i < n; i++) { for (j = 0; j < n; j++) { if (pr[j] == 1000.0) { bool f = true; double t = 0.0; for (k = 0; k < m; k++) { if (gr[k].b == j) { if (pr[gr[k].a] != 1000.0) { t +=(1.0-t)*pr[gr[k].a] * ((double)gr[k].c / 100.0); } else { f = false; } } } if (f) { pr[j] = t; } } } } printf("%.14f\n", pr[n - 1]); }