/*
就是尽量让复制粘贴次数最少,达到需要的条数(可以只复制其中的一部分)
递推公式 dp[j]=dp[j/2]+1;
*/
#include<stdio.h>
#include<string.h>
#define N 10001+10
int dp[N];
void solve()
{
memset(dp,0,sizeof(dp));
dp[0]=0;
dp[1]=0;
for(int i=1;i<N;i=i*2)
{
for(int j=i+1;j<=2*i && j<N;j++)
dp[j]=dp[i]+1;
}
}
int main()
{
solve();
int n;
int Case=1;
while(scanf("%d",&n)!=EOF)
{
if(n<0)
break;
printf("Case %d: %d\n",Case++,dp[n]);
}
return 0;
}
UVa 11636 Hello World!
优化复制粘贴次数算法
最新推荐文章于 2021-03-02 02:58:12 发布
本文介绍了一种通过递推公式优化复制粘贴操作次数的算法实现,旨在以最少的操作达到所需文本条数的目标。算法使用动态规划思想,通过预先计算不同目标数量所需的最小复制粘贴次数来解决该问题。
2611

被折叠的 条评论
为什么被折叠?



