b3636
错误样例
#include<bits/stdc++.h>
using namespace std;
int dp[1000005] = {0};
int main()
{
for(int i = 0;i<=1000000;i++)
{
dp[i]=1<<25;
}
int n;
cin >> n;
dp[n] = 0;
for(int i = n;i>=1;i++)
{
if(i%2==0)
{
dp[i/2] = min(dp[i/2],dp[i]+1);
}
dp[i-1] = min(dp[i]+1,dp[i-1]);
}
cout << dp[1];
}