TE3个求助!!!
查看原帖
TE3个求助!!!
1435693
huangzicheng114514楼主2025/7/29 15:12
#include<bits/stdc++.h>
using namespace std;
#define ll long long
ll x,y,maxt,ans[100],len,way[100];
bool flag;
void dfs(ll z,ll m,ll dep)
{
	ll t1,t2,fz,fm,i,j;
	t1=max(way[dep-1]+1,m/z);
	t2=min(m*(len-dep+1)/z,maxt-1);
	for(i=t1;i<=t2;i++)
	{
		fz=z;
		fm=m;
		way[dep]=i;
		fz=fz*i-fm; 
		if(z<0) 
			continue;
		fm=fm*i;
		if(dep<len)
			dfs(fz,fm,dep+1);
		if(i<maxt&&fz==0)
		{
			flag=true;
			maxt=i;
			memcpy(ans,way,sizeof(way));
		}
	} 
}
int main()
{
	cin>>x>>y;
	flag=false;
	way[0]=1;
	maxt=INT_MAX;
	while(!flag)
	{
		len++;
		dfs(x,y,1);
	}
	for(ll i=1;i<=len;i++)
		cout<<ans[i]<<" ";
	return 0;
}


2025/7/29 15:12
加载中...