- 记数问题
- 2016-12-12 18:24:44 @
#include <iostream>
using namespace std;
long long cnt[10000001],n,x,sum;
int main(){
cin>>n>>x;
cnt[0]=0;
cnt[x]=1;
for(int i=0;i<=n;i++){
cnt[i]=cnt[i%10];
cnt[i]+=cnt[i/10];
sum+=cnt[i];
}
cout<<sum<<endl;
return 0;
}
1 条评论
-
lrj124 LV 10 @ 2016-12-12 21:12:33
如果x=0,i=1 dp[1] = dp[0]+dp[1] 但1没有0,这样就过了: #include <cstdio> int dp[10000001],n,x,sum = 0; int main() { scanf("%d%d",&n,&x); dp[x] = 1; for (int i = 1;i <= n;i++) { dp[i] = dp[i%10]; if (i/10) dp[i] += dp[i/10]; sum += dp[i]; } printf("%d",sum); return 0; }
- 1
信息
- ID
- 1848
- 难度
- 5
- 分类
- (无)
- 标签
- 递交数
- 16558
- 已通过
- 5790
- 通过率
- 35%
- 被复制
- 36
- 上传者