題名:
解決:
明らかに、最初に操作2を実行し、次に操作1を実行します。b= 2の場合、答えはlog 2(a)に関するものなので、2の直接操作の数(log 2(a)に列挙するだけで済みます)を計算します。操作の総数。答えを更新すると、明らかに最初に操作2を実行してから、操作1を実行できます。\\ b = 2の場合、答えはlog2(a)に関するものなので、直接操作の数は2( log2(a))に列挙するだけで済みます。\\次に、操作の総数を計算し、回答を更新します。 重要なのは、その後最初の供給ラインが動作するための2さらに供給ライン操作のための1 、bの場合=2時、テキスト次いでL O G 2 (Aは)左と右、以下のため、このダイレクトボンディング操作のための2の二次数(のみ必要なためピースが移動するL O G 2 (A ))、次に、カウントは、セカンダリ番号として動作する合計を計算しました。もっと新しいAのケースで利用可能
コード:
#include <bits/stdc++.h>
#define int long long
using namespace std;
void solve(){
int a,b;cin>>a>>b;
int ans=1e9;
for(int i=0;i<=1e3;i++){
int bb=b+i;
if(bb==1)continue;
int aa=a;
int temp=0;
while(aa){
aa/=bb;
temp++;
}
ans=min(ans,temp+i);
}
cout<<ans<<endl;
}
signed main(){
int T;cin>>T;
while(T--){
solve();
}
return 0;
}