爆0求调QAQ
查看原帖
爆0求调QAQ
1127560
SR_G_B_ysqd1602楼主2024/9/30 18:27
#include<bits/stdc++.h>
using namespace std;
string s;
int ask,m;
int ans=1;
int a[114514];
void print(int num){
	if(num>10)print(num/10);
	s+=char('0'+num%10);
}
void bfs(){
	a[1]=1;
	int i=0;
	while(i<ans&&ans<=2*ask){
		i++;
		a[++ans]=2*a[i]+1;
		a[++ans]=4*a[i]+5;
	}
	sort(a+1,a+ans+1);//拒绝优先队列因为我不想
	for(int i=1;i<=ask;i++){
//		printf("%d ",a[i]);
		print(a[i]);
	}
}
int main(){
	cin>>ask>>m;
	bfs();
	cout<<s<<endl;
	for(int i=1;i<=m;i++){
		char c=32;
		s=s+'0';
		for(unsigned j=0;j<s.size();j++){
			if(s[j]<s[j+1]){
				s.erase(j,1);
				s.erase(s.size(),1);
				break;
			}
		}
	}
	while(s[0]=='0'&&s.size()>1)s.erase(0,1);
	cout<<s;
	return 0;
}
2024/9/30 18:27
加载中...