85分正解求助
查看原帖
85分正解求助
1274525
Gilbert1206楼主2024/10/9 18:57
#include<bits/stdc++.h>
using namespace std;

int main() {
	long long n,k;
	cin >> n >> k;
	int l = 0, p = 0;
	k+=1;
	if (k > pow(2, n) / 2) {
		l = 1;
		cout << 1;
		k -= pow(2, n) / 2;
	} else {
		cout << 0;
	}
	for (int i = n - 1; i >= 1; i--) {
		if (k > pow(2, i) / 2) {
			k -= pow(2, i) / 2;
			if (l == 1) {
				p = 1;
				l = 0;
				cout << 0;
			} else if (p == 1) {
				cout << 0;
			} else {
				l = 1;
				cout << 1;
			}
		} else {
			if (l == 1) {
				l = 0;
				p = 0;
				cout << 1;
			} else if (p == 1) {
				cout << 1;
				p = 0;
			} else {
				cout << 0;
			}
		}
	}
	return 0;
}

悬关

2024/10/9 18:57
加载中...