Submission #1134363
Source Code Expand
#include <stdio.h> const int mod = 1000000007; long long int dp[2][100]; char n[10002]; int main(){ int i, j, k, d, a, b; scanf("%d\n", &d); fgets(n, 10002, stdin); a = b = 0; for(i = 0; n[i]>='0'; i++, b^=1){ int ni = n[i] - '0'; for(k=0;k<d;k++){ dp[b^1][k]=0; for(j=0; j<=9; j++){ dp[b^1][k] += dp[b][(k-j+16*d)%d]; } dp[b^1][k] %= mod; } for(j=0; j<ni; j++){ dp[b^1][a]++; a++; if(a >= d) a -= d; } } printf("%lld\n", (dp[b][0] + mod - 1 + !a) % mod); return 0; }
Submission Info
Submission Time | |
---|---|
Task | E - 数 |
User | ryuhei |
Language | C (GCC 5.4.1) |
Score | 4 |
Code Size | 582 Byte |
Status | AC |
Exec Time | 31 ms |
Memory | 128 KB |
Compile Error
./Main.c: In function ‘main’: ./Main.c:11:3: warning: ignoring return value of ‘scanf’, declared with attribute warn_unused_result [-Wunused-result] scanf("%d\n", &d); ^ ./Main.c:12:3: warning: ignoring return value of ‘fgets’, declared with attribute warn_unused_result [-Wunused-result] fgets(n, 10002, stdin); ^
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 | 1 ms | 128 KB |
01 | AC | 19 ms | 128 KB |
02 | AC | 31 ms | 128 KB |
90 | AC | 1 ms | 128 KB |
91 | AC | 1 ms | 128 KB |