제출 #1367963

#제출 시각아이디문제언어결과실행 시간메모리
1367963brinleyhongCommuter Pass (JOI18_commuter_pass)C++20
컴파일 에러
0 ms0 KiB
#include <bits/stdc++.h>
using namespace std;

typedef long long ll;

const int maxn = 1e5;
const int maxm = 2e5;
const ll INF = 1e18;

int n, m, S, T, U, V;
ll d[305][305];
vector <pair<int, int>> adj[maxn+5];

void read() {
    cin >> n >> m;
    cin >> S >> T;
    cin >> U >> V;
    for (int i = 1; i<=m; ++i) {
        int u, v, w; cin >> u >> v >> w;
        adj[u].push_back({v, w});
        adj[v].push_back({u, w});
    }
}

void FW() {
    for (int i = 1; i<=n; ++i) {
        for (int j = 1; j<=n; ++j)
            d[i][j] = (i != j ? INF : 0);
    }

    for (int u = 1; u<=n; ++u) {
        for (pair <int, int> e : adj[u]) {
            int v = e.first, w = e.second;
            d[u][v] = min(d[u][v], 1LL * w);
            d[v][u] = min(d[v][u], 1LL * w);
        }
    }

    for (int k = 1; k<=n; ++k) {
        for (int i = 1; i<=n; ++i) {
            for (int j = 1; j<=n; ++j) {
                if (d[i][k] != INF && d[k][j] != INF)
                    d[i][j] = min(d[i][j], d[i][k] + d[k][j]);
            }
        }
    }
}

void sub3() {
    FW();
    ll res = INF;
    for (int L = 1; L<=n; ++L) {
        for (int R = 1; R<=n; ++R) {
            if (d[L][R] + d[S][L] + d[R][T] == d[S][T]) {
                res = min(res, d[U][L] + d[R][V]);
                res = min(res, d[V][L] + d[R][U]);
            }
        }
    }
//    cout << (d[1][2] + d[5][1] + d[7][2] == d[5][7] ? "YES" : "NO");
//    cout << d[2][6] + d[1][8];
    cout << min(res, d[U][V]);
}

void solve() {
    if (S == U) {
        sub1();
        return;
    }
    if (n <= 300) {
        sub3();
        return;
    }
}

int main() {

//    freopen("commuter_pass.inp", "r", stdin);
//    freopen("commuter_pass.out", "w", stdout);

    ios_base::sync_with_stdio(false);
    cin.tie(0); cout.tie(0);

    read();
    solve();

    return 0;
}

컴파일 시 표준 에러 (stderr) 메시지

commuter_pass.cpp: In function 'void solve()':
commuter_pass.cpp:67:9: error: 'sub1' was not declared in this scope; did you mean 'sub3'?
   67 |         sub1();
      |         ^~~~
      |         sub3