Submission #1009220

#TimeUsernameProblemLanguageResultExecution timeMemory
1009220bornagSpecial graph (IZhO13_specialg)C++14
0 / 100
1022 ms856 KiB
#include <bits/stdc++.h> using namespace std; const int maxn = 1e5; int n, m; int graph[maxn]; int dis[maxn]; bool vis[maxn]; int dfs(int nd, int e, int d){ vis[nd] = true; if(nd == e) return d; if(graph[nd] == -1) return -1; if(!vis[graph[nd]]) return dfs(graph[nd], e, d+1); else return -1; } int main(){ ios::sync_with_stdio(false); cin.tie(0); cout.tie(0); cin >> n; for(int i = 0; i < n; i++){ cin >> graph[i]; graph[i]--; } cin >> m; while(m--){ int typ; cin >> typ; if(typ == 1){ int x; cin >> x; graph[x-1] = -1; } else { int a, b; cin >> a >> b; if(graph[a-1] == -1) { cout << -1 << '\n'; continue; } for(int i = 0; i < n; i++) vis[i] = false; cout << dfs(a-1, b-1, 0) << '\n'; } } }
#Verdict Execution timeMemoryGrader output
Fetching results...