题目翻译
并没有题目,你的任务是猜出出题者的意图完成这道题目。
输入
第一行一个整数
P(1≤P≤1000)
,表示数据组数。接下来对于每个数据有4行,第一行一个整数D表示数据组编号,第二行包含一些可打印的93种ASCII字符,而且字符不会重复。第三行一个整数
N(1≤N≤512)
,表示第四行的数字的个数。第四行的
N
个数字
输出
对于每组数据,输出一行,先输出数据组编号D,然后输出 N 个字符。
样例输入
7
1
MAC
3
1 1 1
2
IW2C0NP3OS 1RLDFA
22
0 3 3 -3 7 -8 2 7 -4 3 8 7 4 1 1 -4 5 2 5 -6 -3 -4
3
G.IETSNPRBU
17
2 4 5 -6 -1 -3 -2 -4 -4 1 -1 5 -3 4 1 -2 4
4
PIBN MRDSYEO
16
-4 4 -1 4 5 3 -5 4 -3 -3 -2 -5 -5 -3 1 3
5
D^obV@k"W*B&#]4!NcF$'lj%(d6XG5fi<Hxz7)2Lt~=8aQuvh}r_m+C9eI'-.>EwYyngZRsJKpqO{[\U|MPS,;T?031/A
93
-1 11 44 39 -31 -44 10 5 24 14 1 -33 42 28 -34 7 -37 24 14 3 -7 18 4 19 37 4 20 2 41 -42 18 15 -3 10
7 12 -11 -41 14 8 31 -26 37 -19 -17 -9 -16 15 31 14 29 -22 1 -24 20 -30 6 1 16 -29 31 -30 6 17 -43 -
10 7 7 4 -22 10 -2 15 13 14 2 6 -17 34 -27 28 29 -28 2 33 -13 -15 6 -31 24 41 29 26
6
I
1
0
7
I
13
0 0 0 0 0 0 0 0 0 0 0 0 0
样例输出
1 ACM
2 ICPC 2013 WORLD FINALS
3 INST.PETERSBURG
4 SPONSORED BY IBM
5 ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz~'!@#$%^&*()_+-={}[]\|'";/.,<>?
6 I
7 IIIIIIIIIIIII
题解
貌似从PDF上copy出来的样例会出现全角字符导致答案有误。。我比赛的时候看前4组对了就直接交了。。
题目的意思就是,指针一开始指向字符串的第0个字符,每次移动
从第一个样例大概就可以猜出来了。
// UVALive 6181, HDU 4492
#include <cstdio>
#include <cstring>
char str[4096];
int main() {
int T, x, kase, n;
scanf("%d", &T);
while (T--) {
scanf("%d%*c", &kase);
gets(str);
scanf("%d", &n);
printf("%d ", kase);
int len = strlen(str), loc = 0;
while (n--) {
scanf("%d", &x);
loc = (loc + x + len) % len;
putchar(str[loc]);
}
putchar('\n');
}
return 0;
}