Submission #1163582

#TimeUsernameProblemLanguageResultExecution timeMemory
1163582dnnndaBoard Game (JOI24_boardgame)C++20
3 / 100
16 ms4160 KiB
#include<bits/stdc++.h>
using namespace std;
#define S second
#define F first
#define ll long long
//#define int long long
//#pragma GCC optimize("Ofast, unroll-loop")
//#pragma GCC target("avx,avx2")
#pragma GCC optimize("O3")
#define init(arr,val) memset(arr,val,sizeof arr)
const int inf=0x3f3f3f3f;
const ll inff=0x3f3f3f3f3f3f3f3f;
const int X=1000000007;
//const int X=998244353;

vector<int> adj[50004];
int x[50004];

int main(){
    ios::sync_with_stdio(false), cin.tie(nullptr);
    int n, m, k; cin >> n >> m >> k;
    for(int i=1 ; i<=m ; i++){
        int u, v; cin >> u >> v;
        adj[u].push_back(v);
        adj[v].push_back(u);
    }
    string s; cin >> s;
    s="."+s;
    for(int i=1 ; i<=k ; i++) cin >> x[i];

    queue<int> q;
    bitset<50004> vis;
    q.push(x[1]);
    vis[x[1]]=1;
    vector<int> d(n+1,inf), d2(n+1,inf);
    d[x[1]]=0;
    while(!q.empty()){
        int u=q.front();
        q.pop();
        for(int v:adj[u]){
            if(!vis[v]){
                q.push(v);
                d[v]=d[u]+1;
                vis[v]=1;
            }
        }
    }
    for(int i=1 ; i<=n ; i++) cout << d[i] << '\n';


    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...
#Verdict Execution timeMemoryGrader output
Fetching results...