main
黄海 2 years ago
parent a26dcebd5b
commit dcceeb072e

@ -13,22 +13,22 @@ void floyd(int k) {
mp[i][j] = mp[i][k] + mp[k][j]; mp[i][j] = mp[i][k] + mp[k][j];
} }
int main() { int main() {
// 加快读入
ios::sync_with_stdio(false), cin.tie(0);
while (cin >> n >> m >> q && n + m + q) { while (cin >> n >> m >> q && n + m + q) {
if (t) printf("\n"); // 谜之格式 if (t) printf("\n"); // 谜之格式
printf("Case %d:\n", ++t); printf("Case %d:\n", ++t);
memset(mp, inf, sizeof mp); memset(mp, inf, sizeof mp);
memset(flag, false, sizeof flag); memset(flag, false, sizeof flag);
for (int i = 0; i <= n; ++i) for (int i = 0; i <= n; i++) mp[i][i] = 0;
mp[i][i] = 0;
while (m--) { while (m--) {
scanf("%d %d %d", &u, &v, &w); cin >> u >> v >> w;
if (w < mp[u][v]) if (w < mp[u][v]) mp[u][v] = w;
mp[u][v] = w;
} }
while (q--) { while (q--) {
scanf("%d", &w); cin >> w;
if (w == 0) { if (w == 0) {
scanf("%d", &u); cin >> u;
if (flag[u]) if (flag[u])
printf("ERROR! At point %d\n", u); printf("ERROR! At point %d\n", u);
else { else {
@ -36,7 +36,7 @@ int main() {
floyd(u); floyd(u);
} }
} else { } else {
scanf("%d %d", &u, &v); cin >> u >> v;
if (!(flag[u] && flag[v])) if (!(flag[u] && flag[v]))
printf("ERROR! At path %d to %d\n", u, v); printf("ERROR! At path %d to %d\n", u, v);
else if (mp[u][v] == inf) else if (mp[u][v] == inf)

Loading…
Cancel
Save