Submission #3770463


Source Code Expand

#include<bits/stdc++.h>
using namespace std;
#define int long long
#define mod 1000000007ll

int N, X, Y, Z;
int dp[50][1 << 17];
int p;

int pou(int a, int b)
{
    int tmp = 1;
    for(int i = 0; i < b; i++){
        tmp = a * tmp % mod;
    }
    return tmp % mod;
}

int dfs(int pos, int bit)
{
    if(~dp[pos][bit]){
        return dp[pos][bit];
    }
    if((bit >> X + Y + Z - 1ll) & 1ll){
        if((bit >> Y + Z - 1ll) & 1ll){
            if((bit >> Z - 1ll) & 1ll){
                return dp[pos][bit] = 0ll;
            }
        }
    }
    if(pos == N){
        return dp[pos][bit] = 1ll;
    }
    //if(bit & (1ll << (p - 1ll))){
    //    bit ^= (1ll << (p - 1ll));
    //}
    int res = 0ll;
    for(int i = 1ll; i <= 10ll; i++){
        res = (res + dfs(pos + 1ll, ((bit << i) | (1ll << i - 1ll)) & ((1 << p) - 1))) % mod;
    }
    return dp[pos][bit] = res;
}

signed main()
{
    cin >> N >> X >> Y >> Z;
    p = X + Y + Z;
    memset(dp, -1ll, sizeof(dp));
    cout << (pou(10ll, N) - dfs(0ll, 0ll) + mod) % mod << endl;


    return 0;
}

Submission Info

Submission Time
Task E - Iroha and Haiku
User youluoy
Language C++14 (GCC 5.4.1)
Score 700
Code Size 1114 Byte
Status AC
Exec Time 297 ms
Memory 51456 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 15 ms 51456 KB
subtask0_sample_02.txt AC 15 ms 51456 KB
subtask0_sample_03.txt AC 15 ms 51456 KB
subtask0_sample_04.txt AC 294 ms 51456 KB
subtask1_01.txt AC 15 ms 51456 KB
subtask1_02.txt AC 21 ms 51456 KB
subtask1_03.txt AC 16 ms 51456 KB
subtask1_04.txt AC 17 ms 51456 KB
subtask1_05.txt AC 15 ms 51456 KB
subtask1_06.txt AC 15 ms 51456 KB
subtask1_07.txt AC 16 ms 51456 KB
subtask1_08.txt AC 15 ms 51456 KB
subtask1_09.txt AC 15 ms 51456 KB
subtask1_10.txt AC 15 ms 51456 KB
subtask1_11.txt AC 15 ms 51456 KB
subtask1_12.txt AC 28 ms 51456 KB
subtask1_13.txt AC 20 ms 51456 KB
subtask1_14.txt AC 15 ms 51456 KB
subtask1_15.txt AC 28 ms 51456 KB
subtask1_16.txt AC 114 ms 51456 KB
subtask1_17.txt AC 41 ms 51456 KB
subtask1_18.txt AC 80 ms 51456 KB
subtask1_19.txt AC 47 ms 51456 KB
subtask1_20.txt AC 21 ms 51456 KB
subtask1_21.txt AC 76 ms 51456 KB
subtask1_22.txt AC 44 ms 51456 KB
subtask1_23.txt AC 41 ms 51456 KB
subtask1_24.txt AC 27 ms 51456 KB
subtask1_25.txt AC 46 ms 51456 KB
subtask1_max1.txt AC 297 ms 51456 KB
subtask1_max2.txt AC 277 ms 51456 KB
subtask1_max3.txt AC 151 ms 51456 KB
subtask1_min1.txt AC 15 ms 51456 KB
subtask1_min2.txt AC 15 ms 51456 KB
subtask1_min3.txt AC 15 ms 51456 KB