Submission #1009223

#TimeUsernameProblemLanguageResultExecution timeMemory
1009223bornagSpecial graph (IZhO13_specialg)C++14
0 / 100
1060 ms928 KiB
#include <iostream> using namespace std; const int maxn = 1e5; #pragma GCC optimize("O3,unroll-loops") #pragma GCC target("avx2,bmi,bmi2,lzcnt,popcnt") 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...