「グラフ」の基礎になるような、配列上のシミュレーションの問題。
問題概要
整数 が与えられる。
このとき、ボタンを押すと、画面の数値 (
) が
に変わる。
最初の数値が 0 であるとき、ボタンを 3 回押すと、どんな数値に変わるか?
考えたこと
まず、最初にボタンを押すと、数値 0 は a[0] に変わる。
次にボタンを押すと、数値 a[0] は、a[a[0]] に変わる。
最後にボタンを押すと、数値 a[a[0]] は、a[a[a[0]]] に変わる。
よって、a[a[a[0]]] の値を出力すればよい。
コード
#include <bits/stdc++.h> using namespace std; int main() { vector<int> a(10); for (int i = 0; i < 10; ++i) cin >> a[i]; cout << a[a[a[0]]] << endl; }