Submission #43441191
Source Code Expand
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const ll MOD = 1000'000'007;
#define rep(i,a,n) for (ll i=a;i<(ll)n;i++)
ll read(){ll r;scanf("%lld",&r);return r;}
int main() {
int n=read();
int x=read();
int y=read();
int z=read();
auto _=[](int v){return 1<<(v-1);}; // 数字 转为2进制表示
const int end=_(x+y+z)|_(y+z)|_(z); // end 结束状态
const int msk=(1<<(x+y+z))-1;
vector dp(n+1,vector<ll>(msk+1,0));
dp[0][0]=1;
rep(i,1,n+1) rep(j,0,msk+1) if(dp[i-1][j]!=0) rep(k,1,10+1){
int now = ((j<<k) | _(k)) & msk;
if((now&end)!=end) (dp[i][now] += dp[i-1][j]) %= MOD; // 非法状态
}
ll ans = 1;
rep(i,0,n) (ans*=10)%=MOD;
rep(j,0,msk+1) (ans -= dp[n][j])%=MOD;//用总字串数减去不满足俳句字串数
printf("%lld\n",(ans+MOD)%MOD);
return 0;
}
Submission Info
| Submission Time | |
|---|---|
| Task | E - Iroha and Haiku |
| User | cromarmot |
| Language | C++ (GCC 9.2.1) |
| Score | 700 |
| Code Size | 828 Byte |
| Status | AC |
| Exec Time | 165 ms |
| Memory | 46484 KiB |
Compile Error
./Main.cpp: In function ‘ll read()’:
./Main.cpp:6:21: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
6 | ll read(){ll r;scanf("%lld",&r);return r;}
| ~~~~~^~~~~~~~~~~
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 | 9 ms | 8176 KiB |
| subtask0_sample_02.txt | AC | 20 ms | 9088 KiB |
| subtask0_sample_03.txt | AC | 2 ms | 3916 KiB |
| subtask0_sample_04.txt | AC | 165 ms | 46364 KiB |
| subtask1_01.txt | AC | 3 ms | 3732 KiB |
| subtask1_02.txt | AC | 8 ms | 4384 KiB |
| subtask1_03.txt | AC | 3 ms | 3928 KiB |
| subtask1_04.txt | AC | 5 ms | 4052 KiB |
| subtask1_05.txt | AC | 2 ms | 3808 KiB |
| subtask1_06.txt | AC | 3 ms | 3604 KiB |
| subtask1_07.txt | AC | 3 ms | 3856 KiB |
| subtask1_08.txt | AC | 2 ms | 3732 KiB |
| subtask1_09.txt | AC | 2 ms | 3652 KiB |
| subtask1_10.txt | AC | 2 ms | 3856 KiB |
| subtask1_11.txt | AC | 2 ms | 3712 KiB |
| subtask1_12.txt | AC | 16 ms | 7084 KiB |
| subtask1_13.txt | AC | 7 ms | 4572 KiB |
| subtask1_14.txt | AC | 2 ms | 3864 KiB |
| subtask1_15.txt | AC | 14 ms | 5744 KiB |
| subtask1_16.txt | AC | 62 ms | 20444 KiB |
| subtask1_17.txt | AC | 20 ms | 7772 KiB |
| subtask1_18.txt | AC | 39 ms | 13464 KiB |
| subtask1_19.txt | AC | 22 ms | 8456 KiB |
| subtask1_20.txt | AC | 10 ms | 4492 KiB |
| subtask1_21.txt | AC | 37 ms | 12624 KiB |
| subtask1_22.txt | AC | 20 ms | 8200 KiB |
| subtask1_23.txt | AC | 19 ms | 7604 KiB |
| subtask1_24.txt | AC | 13 ms | 5400 KiB |
| subtask1_25.txt | AC | 21 ms | 8532 KiB |
| subtask1_max1.txt | AC | 162 ms | 46484 KiB |
| subtask1_max2.txt | AC | 152 ms | 44356 KiB |
| subtask1_max3.txt | AC | 74 ms | 24292 KiB |
| subtask1_min1.txt | AC | 2 ms | 3748 KiB |
| subtask1_min2.txt | AC | 2 ms | 3784 KiB |
| subtask1_min3.txt | AC | 7 ms | 8436 KiB |