Submission #4648810
Source Code Expand
#include<iostream> #include<cstdio> #include<cstring> #include<string> #include<vector> #include<cmath> #include<algorithm> #include<map> #include<queue> #include<deque> using namespace std; typedef long long int LL; typedef pair<int,int> P; typedef pair<int,pair<int,int> > PP; typedef pair<LL,int> LP; const int INF=1<<30; const LL MAX=1e9+7; void array_show(int *a,int n){ for(int i=0;i<n;i++)printf("%d%c",a[i],(i!=n-1?' ':'\n')); } void array_show(LL *a,int n){ for(int i=0;i<n;i++)printf("%lld%c",a[i],(i!=n-1?' ':'\n')); } long long int pow_mod(long long int p_a,long long int p_n,long long int p_p=1e9+7){ //p_a^p_n mod p_p long long int p_b=1,p_t=1; for(;p_b<=p_n;p_b<<=1); for(p_b>>=1;p_b>0;p_b>>=1){ p_t*=p_t; if(p_t>=p_p)p_t%=p_p; if(p_n&p_b)p_t*=p_a; if(p_t>=p_p)p_t%=p_p; } return p_t; } LL dp[45][1<<16]; int main(){ int n,m; int x,y,z; LL a,b,c; int i,j,k; cin>>n>>x>>y>>z; m=x+y+z-1; dp[0][0]=1; for(i=0;i<n;i++){ for(j=0;j<(1<<m);j++){ for(k=0;k<10;k++){ a=((j<<1)+1)<<k; b=a&((1<<m)-1); if((a&(1<<m))&&(a&(1<<(m-x)))&&(a&(1<<(m-x-y))))continue; dp[i+1][b]+=dp[i][j]; if(dp[i+1][b]>=MAX)dp[i+1][b]%=MAX; } } } for(i=0,a=0;i<(1<<m);i++){ a+=dp[n][i]; if(a>=MAX)a%=MAX; } LL s=pow_mod(10,n,MAX); s-=a; if(s<0)s+=MAX; cout<<s<<endl; return 0; }
Submission Info
Submission Time | |
---|---|
Task | E - Iroha and Haiku |
User | moririn2528 |
Language | C++14 (GCC 5.4.1) |
Score | 700 |
Code Size | 1399 Byte |
Status | AC |
Exec Time | 175 ms |
Memory | 22272 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 | 9 ms | 3840 KB |
subtask0_sample_02.txt | AC | 11 ms | 3840 KB |
subtask0_sample_03.txt | AC | 5 ms | 18688 KB |
subtask0_sample_04.txt | AC | 175 ms | 22272 KB |
subtask1_01.txt | AC | 4 ms | 14592 KB |
subtask1_02.txt | AC | 9 ms | 18688 KB |
subtask1_03.txt | AC | 3 ms | 6400 KB |
subtask1_04.txt | AC | 4 ms | 4480 KB |
subtask1_05.txt | AC | 4 ms | 14592 KB |
subtask1_06.txt | AC | 2 ms | 6400 KB |
subtask1_07.txt | AC | 5 ms | 14592 KB |
subtask1_08.txt | AC | 2 ms | 6400 KB |
subtask1_09.txt | AC | 3 ms | 8448 KB |
subtask1_10.txt | AC | 3 ms | 8448 KB |
subtask1_11.txt | AC | 2 ms | 6400 KB |
subtask1_12.txt | AC | 10 ms | 6784 KB |
subtask1_13.txt | AC | 6 ms | 8576 KB |
subtask1_14.txt | AC | 3 ms | 8448 KB |
subtask1_15.txt | AC | 13 ms | 18816 KB |
subtask1_16.txt | AC | 59 ms | 15360 KB |
subtask1_17.txt | AC | 19 ms | 16768 KB |
subtask1_18.txt | AC | 43 ms | 19072 KB |
subtask1_19.txt | AC | 24 ms | 18816 KB |
subtask1_20.txt | AC | 9 ms | 18688 KB |
subtask1_21.txt | AC | 38 ms | 17024 KB |
subtask1_22.txt | AC | 23 ms | 18816 KB |
subtask1_23.txt | AC | 19 ms | 16896 KB |
subtask1_24.txt | AC | 12 ms | 16768 KB |
subtask1_25.txt | AC | 23 ms | 18944 KB |
subtask1_max1.txt | AC | 174 ms | 22272 KB |
subtask1_max2.txt | AC | 163 ms | 20224 KB |
subtask1_max3.txt | AC | 81 ms | 19456 KB |
subtask1_min1.txt | AC | 1 ms | 256 KB |
subtask1_min2.txt | AC | 1 ms | 256 KB |
subtask1_min3.txt | AC | 9 ms | 3840 KB |