Untitled
unknown
c_cpp
3 years ago
807 B
9
Indexable
#include <stdio.h>
#include <string.h>
long long len[52];
char s[4] = "OuQ";
char solve(int k, long long l){
if(k == 1){
if(l == 0) return 'O';
else if(l == 1) return 'u';
else if (l == 2) return 'Q';
}
else{
if(l == 2*len[k-1]+2) return 'Q';
else if(l > len[k-1]+1) return solve(k-1, l-len[k-1]-2);
else if(l == len[k-1]+1) return 'u';
else if(l == 0) return 'O';
else return solve(k-1, l-1);
}
}
int main(){
int k;
long long l, r;
len[1] = 3;
for(int i = 2; i <= 50; i++){
len[i] = 2*len[i-1]+3;
}
while(scanf("%d%lld%lld", &k, &l, &r) != EOF){
for(int i = l; i <= r; i++){
solve(k, i);
printf("\n");
}
}
}Editor is loading...