Untitled
plain_text
a month ago
1.1 kB
2
Indexable
Never
#include <iostream> #include <stdio.h> using namespace std; int n, e, k, t; float map[1001][1001]; float p[1001][1001]; int main() { freopen("input.txt", "r", stdin); for (int stt = 1; stt <= 10; stt++) { cin >> n >> e >> k >> t; int x, y; double z; for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { map[i][j] = 0; } } for (int i = 0; i < e; i++) { cin >> x >> y >> z; map[x][y] = z; } for(int i = 0; i < n; i ++) { for(int j = 0; j < t/10; j ++) { p[i][j] = 0; } } p[0][1]=1; int r=0; while(r<t/10){ for(int j=1;j<=n;++j){ if(p[r][j]!=0){ for(int l=1;l<=n;++l) if(map[j][l]!=0) p[r+1][l]+=(map[j][l]*p[r][j]); } ++r; } } int tr=t/10,tk=(t-k)/10,ju=0,jk=0; float maxj=0,maxk=0; for(int j=1;j<=n;++j) if(p[tr][j]>maxj){ ju=j; maxj=p[tr][j]; } for(int j=1;j<=n;++j) if(p[tk][j]>maxk){ jk=j; maxk=p[tk][j]; } printf("#%d %d %.6f %d %.6f\n",stt,ju,maxj,jk,maxk); } return 0; }