Submission #1189289

#TimeUsernameProblemLanguageResultExecution timeMemory
1189289JooDdae스파이 (JOI13_spy)C++20
100 / 100
258 ms245488 KiB
#include <bits/stdc++.h> using namespace std; using ll = long long; int n, m; vector<int> v[2][2020]; bitset<500000> b[2][2020]; void dfs(int u, int t) { for(auto x : v[t][u]) { b[t][x] |= b[t][u]; dfs(x, t); } } int main() { cin.tie(0)->sync_with_stdio(0); cin >> n >> m; for(int i=1;i<=n;i++) { int x, y; cin >> x >> y; v[0][x].push_back(i); v[1][y].push_back(i); } for(int i=0;i<m;i++) { int x, y; cin >> x >> y; b[0][x][i] = b[1][y][i] = 1; } dfs(0, 0), dfs(0, 1); for(int i=1;i<=n;i++) cout << (b[0][i] & b[1][i]).count() << "\n"; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...