一直WA,0分,不知道为什么qwq...
#include<bits/stdc++.h>
using namespace std;
int n,e,t,m;
long long dp[103][103];
void floyd() {
for(int k = 1; k <= n; ++k)
for(int i = 1; i <= n; ++i)
for(int j = 1; j <= n; ++j)
dp[i][j] = min(dp[i][j], dp[i][k] + dp[k][j]);
}
void solve() {
cin >> n >> e >> t >> m;
for(int i = 1; i <= n; ++i) {
for(int j = 1; j <= n; ++j) if(i != j)dp[i][j] = INT_MAX;
}
int a,b,tim,ans = 1;;
for(int i = 1; i <= m; ++i) {
cin >> a >> b >> tim;
dp[a][b] = min(dp[a][b],(long long)(tim));
}
floyd();
for(int i = 1; i <= n; ++i) {
if(i != e&& dp[i][e] <= t) {
++ans;
}
}
cout << ans ;
}
signed main() {
int TT = 0;
cin >> TT;
for(int i = 1; i <= TT; ++i){
solve();
if(i != TT) cout << endl;
}
return 0;
}