#B4423. [语言月赛 202510] 数组嵌套

[语言月赛 202510] 数组嵌套

题目描述

现有两个长为 nn 的数组 a1,a2,,ana_1,a_2,\ldots,a_nb1,b2,,bnb_1,b_2,\ldots,b_n。保证 1ai,bin1\le a_i,b_i\le n注意下标从 11 开始。

在 C++ 中,我们分别使用表达式 a[i]b[i] 来表示 aia_ibib_i,其中 ii 是一个数字,表示下标。

如果我们接着在表达式两侧嵌套 a[...]b[...],我们就实现了数组嵌套,产生形如 a[b[a[a[15]]]] 的表达式。

给出数组 a,ba,b 和一个数组嵌套形成的表达式,你需要计算这个表达式的值。

输入格式

输入共四行。

第一行有一个正整数 nn,表示数组 a,ba,b 的长度。

第二行有 nn 个正整数 a1,,ana_1,\ldots,a_n

第三行有 nn 个正整数 b1,,bnb_1,\ldots,b_n

最后一行有一个字符串,表示要计算的数组嵌套表达式。

输出格式

输出一行一个正整数,表示答案。

4
2 4 1 3
1 2 4 3
a[a[b[4]]]

2

4
1 2 4 3
2 4 1 3
b[b[3]]

2

12
3 6 6 4 2 3 8 1 9 11 12 5
6 8 3 2 9 1 10 5 12 4 11 7
a[b[b[a[b[b[a[a[12]]]]]]]]

2

提示

【样例 1 解释】

b[4]33,因此 a[b[4]] 等于 a[3]11,进而得出 a[a[b[4]]] 等于 a[1],故输出 22

【数据范围】

mm 表示数组嵌套层数,例如样例中 m=3m=3

对于全部数据,保证 1n,m1051\le n,m\le 10^5(十万),且表达式中数组不会越界。

本题共有 1010 个测试点,部分测试点有特殊性质,具体如下(\checkmark 表示测试点具有该性质,空白表示不保证具有该性质):

测试点编号 mm\le 特殊性质 A 特殊性质 B
11 11 \checkmark \checkmark
22
3,43,4 1010 \checkmark
55
6,76,7
88 10510^5 \checkmark
9,109,10
  • 特殊性质 A:表达式中的数字是一位数。
  • 特殊性质 B:表达式中不会出现字符 a