UVALive 6181|HDU 4492|Mystery|猜题意|模拟

来源:互联网 发布:dota改键位软件 编辑:程序博客网 时间:2024/06/03 08:57

https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=4192

题目翻译

并没有题目,你的任务是猜出出题者的意图完成这道题目。

输入

第一行一个整数P(1P1000),表示数据组数。接下来对于每个数据有4行,第一行一个整数D表示数据组编号,第二行包含一些可打印的93种ASCII字符,而且字符不会重复。第三行一个整数N(1N512),表示第四行的数字的个数。第四行的N个数字ai[X,X]范围内(X为第二行字符串的长度减一)。

输出

对于每组数据,输出一行,先输出数据组编号D,然后输出N个字符。

样例输入

71MAC31 1 12IW2C0NP3OS 1RLDFA220 3 3 -3 7 -8 2 7 -4 3 8 7 4 1 1 -4 5 2 5 -6 -3 -43G.IETSNPRBU172 4 5 -6 -1 -3 -2 -4 -4 1 -1 5 -3 4 1 -2 44PIBN MRDSYEO16-4 4 -1 4 5 3 -5 4 -3 -3 -2 -5 -5 -3 1 35D^obV@k"W*B&#]4!NcF$'lj%(d6XG5fi<Hxz7)2Lt~=8aQuvh}r_m+C9eI'-.>EwYyngZRsJKpqO{[\U|MPS,;T?031/A93-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 107 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 266I107I130 0 0 0 0 0 0 0 0 0 0 0 0

样例输出

1 ACM2 ICPC 2013 WORLD FINALS3 INST.PETERSBURG4 SPONSORED BY IBM5 ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz~'!@#$%^&*()_+-={}[]\|'";/.,<>?6 I7 IIIIIIIIIIIII

题解

貌似从PDF上copy出来的样例会出现全角字符导致答案有误。。我比赛的时候看前4组对了就直接交了。。

题目的意思就是,指针一开始指向字符串的第0个字符,每次移动ai个位置,循环走。
从第一个样例大概就可以猜出来了。

// 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;}
原创粉丝点击