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
AC × 4
AC × 35
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