1 条题解

  • 0
    @ 2026-8-18 11:15:14

    !?青青?!,!?水水?!

    #include<bits/stdc++.h>
    using namespace std;
    #define int long long
    const int inf=1e18;
    int siz[110];
    void solve()
    {
    	int d,k,x;cin>>d>>k>>x;
    	siz[0]=1;for(int i=1;i<=d;i++)siz[i]=siz[i-1]*k+1;
    	int ans=inf;
    	for(int i=0;i<=d;i++)
    	{
    		if(siz[i]<x)continue;
    		int sum=(i!=d),x1=siz[i]-x;
    		for(int j=i;j>=0;j--)
    			sum+=(x1/siz[j]),x1%=siz[j];
    		ans=min(ans,sum);
    	}
    	cout<<ans<<'\n';
    }
    signed main()
    {
    	int t;cin>>t;
    	while(t--)solve();
    	return 0;
    }
    • 1

    信息

    ID
    7769
    时间
    2000ms
    内存
    1024MiB
    难度
    10
    标签
    递交数
    2
    已通过
    2
    上传者