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.