后10个MLE
#include <iostream>
#include <vector>
#include <string>
using namespace std;
vector<string> generateGrayCode(int n) {
if (n == 1) {
return {"0", "1"};
}
vector<string> previousGrayCode = generateGrayCode(n - 1);
vector<string> grayCode(2 * previousGrayCode.size());
for (size_t i = 0; i < previousGrayCode.size(); ++i) {
grayCode[i] = '0' + previousGrayCode[i];
}
for (size_t i = 0; i < previousGrayCode.size(); ++i) {
grayCode[grayCode.size() - 1 - i] = '1' + previousGrayCode[i];
}
return grayCode;
}
string getGrayCode(int n, int k) {
vector<string> grayCode = generateGrayCode(n);
return grayCode[k];
}
int main() {
int n, k;
cin >> n >> k;
string result = getGrayCode(n, k);
cout << result << endl;
return 0;
}