Submission #3403828
Source Code Expand
#include <bits/stdc++.h>
#define For(i, l, r) for(register int i = (l), i##end = (int)(r); i <= i##end; ++i)
#define Fordown(i, r, l) for(register int i = (r), i##end = (int)(l); i >= i##end; --i)
#define Set(a, v) memset(a, v, sizeof(a))
#define Cpy(a, b) memcpy(a, b, sizeof(a))
#define debug(x) cout << #x << ": " << (x) << endl
#define DEBUG(...) fprintf(stderr, __VA_ARGS__)
using namespace std;
template<typename T> inline bool chkmin(T &a, T b) {return b < a ? a = b, 1 : 0;}
template<typename T> inline bool chkmax(T &a, T b) {return b > a ? a = b, 1 : 0;}
inline int read() {
int x(0), sgn(1); char ch(getchar());
for (; !isdigit(ch); ch = getchar()) if (ch == '-') sgn = -1;
for (; isdigit(ch); ch = getchar()) x = (x * 10) + (ch ^ 48);
return x * sgn;
}
void File() {
#ifdef zjp_shadow
freopen ("E.in", "r", stdin);
freopen ("E.out", "w", stdout);
#endif
}
const int N = 41, Mod = 1e9 + 7, All = (1 << 17) - 1;
int dp[N][All + 1];
bitset<All + 1> ban;
inline int Up(int val, int pos) {
return val | (1 << (pos - 1));
}
int main() {
File();
int n = read(), X = read(), Y = read(), Z = read(), tmp = Up(Up(Up(0, Z), Y + Z), X + Y + Z);
For (i, 0, All)
ban[i] = (i | tmp) == i;
dp[0][0] = 1;
For (i, 0, n - 1) For (j, 0, All)
if (!ban[j] && dp[i][j])
For (dig, 1, 10)
(dp[i + 1][All & Up(j << dig, dig)] += dp[i][j]) %= Mod;
int ans = 0;
For (i, 1, All) if (!ban[i])
(ans += dp[n][i]) %= Mod;
int fac = 1;
For (i, 1, n)
fac = fac * 10ll % Mod;
printf ("%d\n", (fac - ans + Mod) % Mod);
#ifdef zjp_shadow
cerr << (double)clock () / CLOCKS_PER_SEC << endl;
#endif
return 0;
}
Submission Info
Submission Time |
|
Task |
E - Iroha and Haiku |
User |
zjp_shadow |
Language |
C++14 (GCC 5.4.1) |
Score |
700 |
Code Size |
1721 Byte |
Status |
AC |
Exec Time |
180 ms |
Memory |
19328 KB |
Judge Result
Set Name |
Sample |
All |
Score / Max Score |
0 / 0 |
700 / 700 |
Status |
|
|
Set Name |
Test Cases |
Sample |
subtask0_sample_01.txt, subtask0_sample_02.txt, subtask0_sample_03.txt, subtask0_sample_04.txt |
All |
subtask0_sample_01.txt, subtask0_sample_02.txt, subtask0_sample_03.txt, subtask0_sample_04.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, subtask1_23.txt, subtask1_24.txt, subtask1_25.txt, subtask1_max1.txt, subtask1_max2.txt, subtask1_max3.txt, subtask1_min1.txt, subtask1_min2.txt, subtask1_min3.txt |
Case Name |
Status |
Exec Time |
Memory |
subtask0_sample_01.txt |
AC |
3 ms |
384 KB |
subtask0_sample_02.txt |
AC |
3 ms |
2432 KB |
subtask0_sample_03.txt |
AC |
113 ms |
18816 KB |
subtask0_sample_04.txt |
AC |
179 ms |
19328 KB |
subtask1_01.txt |
AC |
83 ms |
14720 KB |
subtask1_02.txt |
AC |
122 ms |
18816 KB |
subtask1_03.txt |
AC |
34 ms |
8576 KB |
subtask1_04.txt |
AC |
18 ms |
6528 KB |
subtask1_05.txt |
AC |
83 ms |
14720 KB |
subtask1_06.txt |
AC |
24 ms |
6528 KB |
subtask1_07.txt |
AC |
86 ms |
14720 KB |
subtask1_08.txt |
AC |
29 ms |
6528 KB |
subtask1_09.txt |
AC |
38 ms |
8576 KB |
subtask1_10.txt |
AC |
35 ms |
8576 KB |
subtask1_11.txt |
AC |
20 ms |
6528 KB |
subtask1_12.txt |
AC |
28 ms |
6528 KB |
subtask1_13.txt |
AC |
45 ms |
8576 KB |
subtask1_14.txt |
AC |
47 ms |
10624 KB |
subtask1_15.txt |
AC |
133 ms |
18816 KB |
subtask1_16.txt |
AC |
123 ms |
16768 KB |
subtask1_17.txt |
AC |
114 ms |
16768 KB |
subtask1_18.txt |
AC |
151 ms |
18816 KB |
subtask1_19.txt |
AC |
142 ms |
18816 KB |
subtask1_20.txt |
AC |
141 ms |
18816 KB |
subtask1_21.txt |
AC |
135 ms |
18816 KB |
subtask1_22.txt |
AC |
133 ms |
18816 KB |
subtask1_23.txt |
AC |
114 ms |
16768 KB |
subtask1_24.txt |
AC |
115 ms |
16768 KB |
subtask1_25.txt |
AC |
138 ms |
18816 KB |
subtask1_max1.txt |
AC |
180 ms |
19328 KB |
subtask1_max2.txt |
AC |
168 ms |
18816 KB |
subtask1_max3.txt |
AC |
164 ms |
18816 KB |
subtask1_min1.txt |
AC |
3 ms |
384 KB |
subtask1_min2.txt |
AC |
3 ms |
384 KB |
subtask1_min3.txt |
AC |
3 ms |
384 KB |