Untitled
unknown
plain_text
2 years ago
1.1 kB
10
Indexable
#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;
}Editor is loading...