Submission #391538

#TimeUsernameProblemLanguageResultExecution timeMemory
391538phathnvBirmingham (COCI20_birmingham)C++11
70 / 70
138 ms10452 KiB
#include <bits/stdc++.h> using namespace std; typedef long long ll; typedef pair <int, int> ii; const int N = 1e5 + 1; int n, m, q, k; vector <int> known, adj[N]; int d[N]; void readInput(){ scanf("%d %d %d %d", &n, &m, &q, &k); for(int i = 1; i <= q; i++){ int x; scanf("%d", &x); known.push_back(x); } for(int i = 1; i <= m; i++){ int u, v; scanf("%d %d", &u, &v); adj[u].push_back(v); adj[v].push_back(u); } } void solve(){ queue <int> qu; for(int i = 1; i <= n; i++) d[i] = -1; for(int x : known){ d[x] = 0; qu.push(x); } while (!qu.empty()){ int u = qu.front(); qu.pop(); for(int v : adj[u]) if (d[v] == -1){ d[v] = d[u] + 1; qu.push(v); } } for(int i = 1; i <= n; i++){ int res = 0; int cur = k; while (d[i] > 0){ res++; d[i] -= cur; cur += k; } printf("%d ", res); } } int main(){ readInput(); solve(); return 0; }

Compilation message (stderr)

birmingham.cpp: In function 'void readInput()':
birmingham.cpp:16:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   16 |     scanf("%d %d %d %d", &n, &m, &q, &k);
      |     ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
birmingham.cpp:19:14: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   19 |         scanf("%d", &x);
      |         ~~~~~^~~~~~~~~~
birmingham.cpp:24:14: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   24 |         scanf("%d %d", &u, &v);
      |         ~~~~~^~~~~~~~~~~~~~~~~
#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...
#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...