AtCoder Beginner Contest 241(Sponsored by Panasonic)A - Digit Machine
問題の要約
1桁の数字が表示される画面と、ボタンからなる機械がある。
画面に数字kが表示されているとき、ボタンを1回押すと画面の数字がakに変わる。
0が表示されている状態からボタンを3回押すと、画面には何が表示されるか?
制約
0<=ai<=9
入力
a0 a1 ... a9
考え方
1、数字kが数字akに変わるので、その10個の数字をvector<int> aで管理する。
2、0が表示されている状態から始まるので、最初の数字はans=0で初期化。
3、ボタンを1回押した後の数字はa[ans]で取得できるので、これをansに格納する。
4、ボタンを3回押した後に画面に表示される数字を聞かれているので3回繰り返す。
実際のプログラム
#include<iostream>
#include<vector>
using namespace std;
int main(){
vector<int> a(10);
for(int i = 0; i < 10; i++){
cin >> a[i];
}
int ans = 0;
for(int i = 0; i < 3; i++){
ans = a[ans];
}
cout << ans << endl;
return 0;
}