Official

C - Binary Alchemy Editorial by cn449


元素 \(1\) に元素 \(1, 2, \ldots, N\) を順に合成する操作を現時点での元素の番号を管理しながらシミュレートすればよいです。

実装例 (添え字が \(0\) から始まるものとなっています)

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

int main() {
	int n;
	cin >> n;
	vector<vector<int>> a(n, vector<int>(n));
	for (int i = 0; i < n; i++) for (int j = 0; j <= i; j++) {
		cin >> a[i][j];
		a[i][j]--;
	}
	int ans = 0;
	for (int i = 0; i < n; i++) {
		if (ans >= i) ans = a[ans][i];
		else ans = a[i][ans];
	}
	ans++;
	cout << ans << '\n';
}

posted:
last update: