Happy new year! The year 2020 is also known as Year Gyeongja (경자년, gyeongja-nyeon) in Korea. Where did the name come from? Let's briefly look at the Gapja system, which is traditionally used in Korea to name the years.
There are two sequences of nn strings s1,s2,s3,…,sns1,s2,s3,…,sn and mm strings t1,t2,t3,…,tmt1,t2,t3,…,tm. These strings contain only lowercase letters. There might be duplicates among these strings.
Let's call a concatenation of strings xx and yy as the string that is obtained by writing down strings xx and yy one right after another without changing the order. For example, the concatenation of the strings "code" and "forces" is the string "codeforces".
The year 1 has a name which is the concatenation of the two strings s1s1 and t1t1. When the year increases by one, we concatenate the next two strings in order from each of the respective sequences. If the string that is currently being used is at the end of its sequence, we go back to the first string in that sequence.
For example, if n=3,m=4,s=n=3,m=4,s={"a", "b", "c"}, t=t= {"d", "e", "f", "g"}, the following table denotes the resulting year names. Note that the names of the years may repeat.
You are given two sequences of strings of size nn and mm and also qq queries. For each query, you will be given the current year. Could you find the name corresponding to the given year, according to the Gapja system?
The first line contains two integers n,mn,m (1≤n,m≤201≤n,m≤20).
The next line contains nn strings s1,s2,…,sns1,s2,…,sn. Each string contains only lowercase letters, and they are separated by spaces. The length of each string is at least 11 and at most 1010.
The next line contains mm strings t1,t2,…,tmt1,t2,…,tm. Each string contains only lowercase letters, and they are separated by spaces. The length of each string is at least 11 and at most 1010.
Among the given n+mn+m strings may be duplicates (that is, they are not necessarily all different).
The next line contains a single integer qq (1≤q≤20201≤q≤2020).
In the next qq lines, an integer yy (1≤y≤1091≤y≤109) is given, denoting the year we want to know the name for.
Print qq lines. For each line, print the name of the year as per the rule described above.
10 12 sin im gye gap eul byeong jeong mu gi gyeong yu sul hae ja chuk in myo jin sa o mi sin 14 1 2 3 4 10 11 12 13 73 2016 2017 2018 2019 2020
sinyu imsul gyehae gapja gyeongo sinmi imsin gyeyu gyeyu byeongsin jeongyu musul gihae gyeongja
The first example denotes the actual names used in the Gapja system. These strings usually are either a number or the name of some animal.
就是对S和T分别循环查找第y个元素,
1 #include <bits/stdc++.h> 2 using namespace std; 3 #define LL long long 4 #define inf 0x3f3f3f3f 5 #define pii pair<int,int> 6 #define pb push_back 7 string S[22],T[22]; 8 int n,m,q,y; 9 int main() 10 { 11 //freopen("in.txt","r",stdin); 12 cin>>n>>m; 13 for(int i=1;i<=n;++i)cin>>S[i]; 14 for(int i=1;i<=m;++i)cin>>T[i]; 15 cin>>q; 16 while(q--){ 17 cin>>y; 18 int s=y%n,t=y%m; 19 if(s==0)s=n; 20 if(t==0)t=m; 21 cout<<S[s]<<T[t]<<endl; 22 } 23 return 0; 24 }