BOJ 17435 합성함수와 쿼리

1 개요[ | ]

BOJ 17435 합성함수와 쿼리

2 C++[ | ]

#include <bits/stdc++.h>
using namespace std;

int m;
int Next[500001][19];

int main() {
	ios::sync_with_stdio(0);
	cin.tie(0);
	cin >> m;
	for (int i = 1; i <= m; i++) {
		cin >> Next[i][0];
	}
	for (int j=1; j<19; j++) {
		for (int i=1; i<=m; i++) {
			Next[i][j] = Next[Next[i][j-1]][j-1];
		}
    }
    int Q, n, x;
	cin >> Q;
	while (Q--) {
		cin >> n >> x;
		for (int bit=18; bit>=0; bit--) {
			if ((n & (1 << bit))) {
				x = Next[x][bit];
			}
		}
		cout << x << '\n';
	}
}
문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}