Submission #4063843
Source Code Expand
#include <iostream> #include <vector> using namespace std; const long long mod = (1e9)+7; long long dp[253][253][130][10]; int main(){ int N, X; string S; cin >> N >> X >> S; dp[0][0][0][0] += 1; for(int i = 0; i < N; ++i){ for(int j = 0; j <= X; ++j){ for(int k = 0; k < 130; ++k){ for(int l = 0; l < 10; ++l){ long long t = dp[i][j][k][l]; if(t == 0) continue; if(S[i] == '?'){ for(int m = 0; m < 10; ++m){ if(l == 5 and m == 2){ dp[i+1][j][k][m] += t; dp[i+1][j][k][m] %= mod; continue; } if(l == 2 and m == 5){ dp[i+1][min(j+k+1,X)][k+1][m] += t; dp[i+1][min(j+k+1,X)][k+1][m] %= mod; continue; } dp[i+1][j][0][m] += t; dp[i+1][j][0][m] %= mod; } continue; } if(l == 2 and S[i] == '5'){ dp[i+1][min(j+k+1,X)][k+1][5] += t; dp[i+1][min(j+k+1,X)][k+1][5] %= mod; continue; } if(l == 5 and S[i] == '2'){ dp[i+1][j][k][2] += t; dp[i+1][j][k][2] %= mod; continue; } dp[i+1][j][0][S[i]-'0'] += t; dp[i+1][j][0][S[i]-'0'] %= mod; } } } } long long ans = 0; for(int i = 0; i < 130; ++i){ for(int k = 0; k < 10; ++k){ ans += dp[N][X][i][k]; ans %= mod; } } cout << ans << endl; }
Submission Info
Submission Time | |
---|---|
Task | A - ニコニコ文字列2 |
User | TAB |
Language | C++14 (GCC 5.4.1) |
Score | 0 |
Code Size | 1601 Byte |
Status | MLE |
Exec Time | 274 ms |
Memory | 639744 KB |
Judge Result
Set Name | Sample | All | ||||||
---|---|---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 0 / 20 | ||||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | sample_01.txt, sample_02.txt |
All | sample_01.txt, sample_02.txt, subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask1_13.txt, subtask1_14.txt, subtask1_15.txt, subtask1_16.txt, subtask1_17.txt, subtask1_18.txt, subtask1_19.txt, subtask1_20.txt, subtask1_21.txt, subtask1_22.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
sample_01.txt | AC | 2 ms | 6400 KB |
sample_02.txt | AC | 7 ms | 30976 KB |
subtask1_01.txt | AC | 2 ms | 2304 KB |
subtask1_02.txt | AC | 2 ms | 4352 KB |
subtask1_03.txt | AC | 2 ms | 4352 KB |
subtask1_04.txt | AC | 2 ms | 2304 KB |
subtask1_05.txt | MLE | 75 ms | 372992 KB |
subtask1_06.txt | MLE | 79 ms | 327936 KB |
subtask1_07.txt | MLE | 60 ms | 276736 KB |
subtask1_08.txt | AC | 58 ms | 157952 KB |
subtask1_09.txt | AC | 39 ms | 149760 KB |
subtask1_10.txt | AC | 22 ms | 88320 KB |
subtask1_11.txt | MLE | 108 ms | 532736 KB |
subtask1_12.txt | MLE | 206 ms | 569600 KB |
subtask1_13.txt | MLE | 106 ms | 522496 KB |
subtask1_14.txt | MLE | 216 ms | 616704 KB |
subtask1_15.txt | MLE | 223 ms | 639616 KB |
subtask1_16.txt | MLE | 223 ms | 639488 KB |
subtask1_17.txt | MLE | 274 ms | 639744 KB |
subtask1_18.txt | MLE | 196 ms | 516352 KB |
subtask1_19.txt | MLE | 261 ms | 639616 KB |
subtask1_20.txt | MLE | 223 ms | 639616 KB |
subtask1_21.txt | MLE | 102 ms | 516352 KB |
subtask1_22.txt | MLE | 101 ms | 516352 KB |