Submission #2551313


Source Code Expand

#include <iostream>
#include <cstdio>
#include <queue>
#include <cstring>

using namespace std;

typedef long long ll;
typedef pair<int, int> P;

const ll MOD = 1000000007;
const int INF = 100000;
const int MAX_N = 110;
vector<int> G[MAX_N];
int dist[MAX_N];
ll cnt[MAX_N];

void dijkstra(int x, int n) {
    for(int i=0;i<n;i++) {
        dist[i] = INF;
        cnt[i] = 0;
    }
    priority_queue<P> pq;
    dist[x] = 0;
    cnt[a] = 1;
    pq.push(P(0, x));
    while (!pq.empty()) {
        P p = pq.top();pq.pop();
        for (int i=0;i<G[p.second].size();i++) {
            if (dist[G[p.second][i]] > dist[p.second] + 1) {
                dist[G[p.second][i]] = dist[p.second] + 1;
                cnt[G[p.second][i]] = cnt[p.second];
                pq.push(P(dist[G[p.second][i]], G[p.second][i]));
            } else if (dist[G[p.second][i]] == dist[p.second] + 1) {
                cnt[G[p.second][i]] += cnt[p.second];
                cnt[G[p.second][i]] %= MOD;
            }
        }
    }
}

int main() {
    int a, b, n, m, x, y;
    cin >> n;
    cin >> a >> b;
    cin >> m;
    for (int i=0;i<m;i++) {
        cin >> x >> y;
        x--;y--;
        G[x].push_back(y);
        G[y].push_back(x);
    }
    a--;b--;
    memset(used, false, sizeof(used));
    dijkstra(a, n);
    printf("%lld\n", cnt[b] % MOD);
}

Submission Info

Submission Time
Task C - 正直者の高橋くん
User hashmup
Language C++14 (Clang 3.8.0)
Score 0
Code Size 1390 Byte
Status CE

Compile Error

./Main.cpp:25:9: error: use of undeclared identifier 'a'
    cnt[a] = 1;
        ^
./Main.cpp:54:32: error: use of undeclared identifier 'used'
    memset(used, false, sizeof(used));
                               ^
./Main.cpp:54:12: error: use of undeclared identifier 'used'
    memset(used, false, sizeof(used));
           ^
3 errors generated.