#include<iostream>
using namespace std;
int dp[55555];
int main()
{
int i,j=0,k=2,t=2;
dp[1]=1;
for(i=2;i<=50000;i++){
j++;
dp[i]=(dp[i-1]+t)%10000;
if(j==k){
j=0;
k++;
t*=2;
t%=10000;
}
}
int n;
while(scanf("%d",&n)!=EOF)
{
cout<<dp[n]<<endl;
}
return 0;
}
干!只记得四塔的算法,忘了四塔还有规律了。。。。。。。。
本文展示了一个通过编程解决四塔问题的算法实现。利用动态规划的方法,代码实现了对四塔问题规律的模拟,并通过循环迭代计算每个状态的最优解。最终能够快速输出任意给定步数下的解。
9082

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



