https://oj.youdao.com/course/13/70/2#/1/9446 我的代码:
#include<bits/stdc++.h>
using namespace std;
char s1[] = "worlds",s2[] = "Listeningtoyour", s3[] = "likelisteningtothe";
long long len[101];
char a(long long n, long long k){
if(k > len[n]) return '*';
if(n == 0) return s1[k - 1];
if(k >= 15) return s2[k - 1];
else if(k <= 15 + len[n - 1]) return a(n - 1,n - 15);
else if(k <= 33 + len[n - 1]) return s3[k - 15 - len[n - 1]- 1];
else return a(n - 1, n - 33 - len[n - 1]);
}
int main(){
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
long long t,n,k;
cin >> t;
len[0] = 5;
for(int i = 1; i <= 100; i++){
len[i] = 2 * len[i - 1] + 33;
}
while(t--){
long long n,k;
cin >> n >> k;
cout << a(n,k) << '\n';
}
return 0;
}