제출 #1214427

#제출 시각아이디문제언어결과실행 시간메모리
1214427MohamedFaresNebiliFrom Hacks to Snitches (BOI21_watchmen)C++20
0 / 100
760 ms589824 KiB
#include <bits/stdc++.h>

        using namespace std;

        int N, M, K;
        vector<int> adj[250005];
        int _L, L[155];

        int32_t main() {
            ios_base::sync_with_stdio(0);
            cin.tie(0); cout.tie(0);
            cin >> N >> M;
            for(int l = 0; l < M; l++) {
                int U, V; cin >> U >> V;
                adj[U].push_back(V);
                adj[V].push_back(U);
            }
            cin >> K; cin >> _L;
            for(int l = 0; l < _L; l++) cin >> L[l];

            queue<array<int, 3>> Q;
            Q.push({1, 0, 0});
            while(!Q.empty()) {
                int U = Q.front()[0];
                int V = Q.front()[1];
                int W = L[V];
                int C = Q.front()[2]; Q.pop();
                if(U == W) continue;
                if(U == N) {
                    cout << C;
                    return 0;
                }
                V++; V %= _L;
                Q.push({U, V, C + 1});
                for(auto u : adj[U]) {
                    Q.push({u, V, C + 1});
                }
            }
            cout << -1;
            return 0;
        }



#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...