Untitled
unknown
c_cpp
2 years ago
807 B
6
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...