Submission #3622376
Source Code Expand
using System;
using System.Linq;//リストの使用
using System.Collections.Generic;
using System.Text;//テキストの高速出力に必要
class Program
{
static void Main()
{
long d = long.Parse(Console.ReadLine());
string n = Console.ReadLine();
long digit = n.Length;
long mod = 1000000007;
long answer = 0;
long[,,] dp = new long[digit+1,d,2];//dp[見た桁数、余り、最上位未満で1]=何通りか
dp[0,0,0] = 1;
for(int i = 1; i <= digit; i++)
{
for(int j = 0; j < d; j++)//余り
{
for(int k = 0; k <= 9; k++)
{
dp[i,j,0] = dp[i-1,(j-(n[i-1]-'0')+d*100)%d,0];
dp[i,j,1] += dp[i-1,(j-k+d*100)%d,1];
if(n[i-1]-'0' > k) dp[i,j,1] += dp[i-1,(j-k+d*100)%d,0];
dp[i,j,1] %= mod;
}
}
}
Console.WriteLine(dp[digit,0,1]+dp[digit,0,0]-1);//WriteLineをWriteとすると、改行なしで出力。
}
}
Submission Info
Submission Time |
|
Task |
E - 数 |
User |
suikameron |
Language |
C# (Mono 4.6.2.0) |
Score |
4 |
Code Size |
971 Byte |
Status |
AC |
Exec Time |
774 ms |
Memory |
26208 KB |
Judge Result
Set Name |
All |
Score / Max Score |
4 / 4 |
Status |
|
Set Name |
Test Cases |
All |
00, 01, 02, 90, 91 |
Case Name |
Status |
Exec Time |
Memory |
00 |
AC |
28 ms |
11180 KB |
01 |
AC |
469 ms |
17888 KB |
02 |
AC |
774 ms |
26208 KB |
90 |
AC |
20 ms |
9044 KB |
91 |
AC |
21 ms |
11092 KB |