Ural 1353 Milliard Vasya's Function

来源:互联网 发布:jquery源码 编辑:程序博客网 时间:2024/06/07 05:30

题意:统计1-1e9中数位和为S的数的个数

链接:http://acm.timus.ru/problem.aspx?space=1&num=1353

思路:解法一、暴力打表,直接输出表

           解法二、数位dp,dp[i][j]表示放到第i个数,和为j的个数

注意点:无


以下为AC代码:

IDDateAuthorProblemLanguageJudgement resultTest #Execution timeMemory used624757120:17:47
14 May 2015luminous111353. Milliard Vasya's FunctionG++ 4.9 C++11Accepted 0.031366 KB

/* ************************************************# @Author  : Luminous11 (573728051@qq.com)*# @Date    : 2015-05-14 23:05:21*# @Link    : http://blog.csdn.net/luminous11*********************************************** *///暴力打表代码#include <bits/stdc++.h>#define clr(a, v) memset( a , v , sizeof(a) )using namespace std;const double eps = 1e-10;const double pi = acos(-1.0);int ans[85] = { 0, 10, 45, 165, 495, 1287, 3003, 6435, 12870, 24310, 43749, 75501, 125565, 202005, 315315, 478731, 708444, 1023660, 1446445, 2001285, 2714319, 3612231, 4720815, 6063255, 7658190, 9517662, 11645073, 14033305, 16663185, 19502505, 22505751, 25614639, 28759500, 31861500, 34835625, 37594305, 40051495, 42126975, 43750575, 44865975, 45433800, 45433800, 44865975, 43750575, 42126975, 40051495, 37594305, 34835625, 31861500, 28759500, 25614639, 22505751, 19502505, 16663185, 14033305, 11645073, 9517662, 7658190, 6063255, 4720815, 3612231, 2714319, 2001285, 1446445, 1023660, 708444, 478731, 315315, 202005, 125565, 75501, 43749, 24310, 12870, 6435, 3003, 1287, 495, 165, 45, 9, 1 };int main(){int n;while ( cin >> n ){cout << ans[n] << endl;}return 0;}//打表部分// int k = 1e9;// int num[105];// int calc ( int n )// {// int ret = 0;// while ( n ){// ret += n % 10;// n /= 10;// }// return ret;// }// int main()// {// ios::sync_with_stdio ( false );// freopen ( "data.in", "w", stdout );// memset ( num, 0, sizeof ( num ) );// for ( int i = 1; i <= k; i ++ ){// int n = calc ( i );// num[n] ++;// }// for ( int i = 1; i < 82; i ++ ){// cout << num[i] << ", ";// }//     return 0;// }


0 0
原创粉丝点击