Submission #35009

#TimeUsernameProblemLanguageResultExecution timeMemory
35009antran2202스파이 (JOI13_spy)C++14
0 / 100
139 ms5468 KiB
//code.cpp #include <bits/stdc++.h> using namespace std; #define whole(x) x.begin(),x.end() #define sz(x) ((int)x.size()) #define sqr(x) ((x)*(x)) #define pb push_back #define mp make_pair #define ins insert #define _(a) #a << " : " << (a) typedef long long ll; typedef unsigned long long ull; typedef long double ld; typedef vector<int> vi; //---------------------------------------------------------- const int inf = 1e9, maxn = 2001; const ll inff = 1e18; const ld eps = 1e-9, pi = acos (-1); int n, k, m; int p, q[maxn], c[maxn], res[maxn]; vi adj[maxn], ja[maxn]; int cnt[maxn]; int hihi (int i) { int res = 0; while (i != 0) { if (cnt[i]) res++; i = q[i]; } return res; } void dfs (int i) { for (int j : ja[i]) cnt[j] ++; res[i] = hihi (i); for (int j : adj[i]) dfs (j); for (int j : ja[i]) cnt[j] --; } void input () { cin >> n >> m; for (int i = 1; i <= n; ++i) cin >> p >> q[i], adj[p].pb (i); int s, r; for (int i = 1; i <= m; ++i) cin >> s >> r, ja[s].pb (r); } void solve () { dfs (0); for (int i = 1; i <= n; ++i) cout << res[i] << '\n'; } int main() { #ifdef tcva clock_t sttime = clock (); #endif ios_base::sync_with_stdio(false); cin.tie (NULL); cout.tie (NULL); //freopen ("spy.inp", "r", stdin); //freopen ("spy.out", "w", stdout); input (); solve (); #ifdef tcva clock_t entime = clock (); cerr << "\nExecution time: " << double (entime - sttime) / CLOCKS_PER_SEC << "s"; #endif }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...