1 RE
1 WA
8 AC
#include <cstdio>
#include <cstring>
int u[2505], v[2505], w[2505], dis[2505];
int main()
{
int n, m, s, t;
scanf("%d %d %d %d", &n, &m, &s, &t);
for (int i = 1; i <= m; i++)
scanf("%d %d %d", &u[i], &v[i], &w[i]);
memset(dis, 0x3f, sizeof dis);
dis[s] = 0;
bool relaxed;
for (int i = 1; i < n; i++)
{
relaxed = 0;
for (int j = 1; j <= m; j++)
{
if (dis[v[j]] + w[j] < dis[u[j]])
dis[u[j]] = dis[v[j]] + w[j], relaxed = 1;
if (dis[u[j]] + w[j] < dis[v[j]])
dis[v[j]] = dis[u[j]] + w[j], relaxed = 1;
}
if (!relaxed)
break;
}
printf("%d", dis[t]);
return 0;
}