51Nod 1009 数字1的数量

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了51Nod 1009 数字1的数量相关的知识,希望对你有一定的参考价值。

具体题解发一下大佬的分析http://blog.csdn.net/wyg1997/article/details/52169036

 1 #include <iostream>
 2 #include <algorithm>
 3 using namespace std;
 4 typedef long long LL;
 5 
 6 int main(){
 7     std::ios::sync_with_stdio(false);
 8     int n;
 9     cin >> n;
10     LL ans = 0;
11     int tn = n;
12     int mu = 1;
13     while (tn)
14     {
15         int t = tn % 10;
16         if (t == 0)
17             ans += (n / (mu * 10))*mu;
18         else if (t == 1)
19         {
20             ans += (n / (mu * 10))*mu;
21             ans += (n%mu) + 1;
22         }
23         else
24             ans += (n / (mu * 10) + 1)*mu;
25         tn /= 10;
26         mu *= 10;
27     }
28     cout << ans << endl;
29     return 0;
30 }

 

以上是关于51Nod 1009 数字1的数量的主要内容,如果未能解决你的问题,请参考以下文章

51 Nod 1009 数字1的数量(数位dp)

51nod1009 数字1的数量

51nod 1009 数字1的数量 数位dp

51nod 1009 数字1的数量

51Nod1009 数字1的数量

51nod 1009 - 数字1的数量 - [数位DP][模板的应用以及解释]