1305: 循环输入
题目
题目描述
布莱克最近刚学会使用循环检测输入,但他实在太迷糊了,解决不了下面这道题目。于是布莱克请你帮助他,写一段代码来解决他遇到的问题:
初始时,你将会得到一串长度为 $n$ 的数组A。接下来的若干行输入为对该数组的操作。下标从 0 开始。
输入格式如下:
1 x
代表询问操作,输出为数组A中下标为 x 的值。
2 k x_1 y_1 x_2 y_2 ...... x_k y_k
代表修改操作,k 代表接下来输入的 x ,y 对的个数;每对 x ,y 表示将数组A中下标为 x 的值改为 y 。
3 x_1 y_1 ......
代表不定长修改操作 ,x ,y 的含义同操作 2,但 x ,y 对个数不定。
保证输入都为 int
范围内的整数,保证不发生越界的情况。
- 布莱克好心地提醒你,你可能需要
getchar() , getline() , eof()
等函数的帮助。
输入格式
第一行输入 n ,表示数组A的长度。
第二行有 n 个数,对应数组A的元素。
接下来输入若干行,对应不同操作。
输出格式
对于操作 $1$,输出数组中下标为 x 的值。
样例输入
5
1 2 3 4 5
1 2
2 2 2 4 3 1
1 1
3 2 3
1 2
样例输出
3
2
3
数据范围
对于 40% 的数据 n<=100 且操作数小于等于 1000 。
对于另外 60% 的数据 n<=10000 且操作数小于等于 20000 。
对于所有数据,操作2 ,3的 x,y 对个数不会超过 20 对。
Oops! 本题目还没有解答!
助教老师们编题的速度,已经超过了解题的速度!
OJ翻了一新,但本解答集还大多用的是2017-2019级,甚至更早的同学们贡献的答案。
如果你已经AC了,可以的话,请您参考添加页面,与大家一起分享你的题解!