样例过了,为啥全WA
查看原帖
样例过了,为啥全WA
223797
Remake_楼主2020/8/14 08:53

Rt,诸位大佬帮帮蒟蒻吧TAT。

code:

#include <bits/stdc++.h>
using namespace std;
long long l, r, shuwei[20], dp[20][10][10];
void prework(long long num)
{
    for (int i = 1; i <= 14; i++)
        dp[i][num][num] = pow(10, i - 1);
    for (int i = 1; i <= 14; i++)
        for (int j = 0; j < 10; j++)
            for (int k = 0; k < 10; k++)
                dp[i][j][num] += dp[i - 1][k][num];
}
long long work(long long x, long long num)
{
    long long length = 0, ans = 0;
    while (x)
    {
        shuwei[++length] = x % 10;
        x /= 10;
    }
    for (int i = 1; i < length; i++)
        for (int j = 1; j < 10; j++)
            ans += dp[i][j][num];
    for (int i = 1; i < shuwei[length]; i++)
        ans += dp[length][i][num];
    for (int i = length - 1; i >= 1; i--)
        for (int j = 0; j < shuwei[i]; j++)
            ans += dp[i][j][num];
    return ans;
}
int main()
{
    for (int i = 0; i < 10; i++)
        prework(i);
    cin >> l >> r;
    for (int i = 0; i < 10; i++)
        cout << work(r + 1, i) - work(l, i)<<" ";
    system("pause");
}
2020/8/14 08:53
加载中...