Submission #162815


Source Code Expand

#include <iostream>
#include <cstdio>
#include <cmath>
#include <vector>
#include <map>
#include <stack>
#include <queue>
#include <algorithm>
#include <set>

#define FOR(i,a,b) for(int i=(a);i<(b);i++)
#define REP(i,j) FOR(i,0,j)
#define mp std::make_pair

typedef long long ll;
typedef unsigned long long ull;
typedef std::pair<int,int> P;
typedef std::pair<int,P> State;

const int INF = 1001001001;

// S N E W(南北東西)
const int dx[8] = {0, 0, 1, -1, 1, 1, -1, -1}, dy[8] = {1, -1, 0, 0, 1, -1, 1, -1};

ll dp[40][2];

ll rec(int i, int f, const std::string &s){
    if(i == (int)s.size()){return 1ll;}
    if(dp[i][f] != -1){return dp[i][f];}

    int max = f?9:s[i]-'0';
    ll res = 0;
    for(int nn=0;nn<=max;nn++){
        if(nn == 4 || nn == 9){continue;}
        res += rec(i+1, f || (nn != max), s);
    }

    return dp[i][f] = res;
}

ll count(const std::string &s){
    REP(i, 40){REP(j, 2){dp[i][j] = -1;}}

    return rec(0, 0, s);
}

int main(){
    ll a, b;
    std::cin >> a >> b;

    std::string A = std::to_string(a-1), B = std::to_string(b);

    printf("%lld\n", (b+1-a) - (count(B)-count(A)));
}

Submission Info

Submission Time
Task D - 禁止された数字
User iwashisnake
Language C++11 (GCC 4.8.1)
Score 100
Code Size 1183 Byte
Status AC
Exec Time 24 ms
Memory 932 KB

Judge Result

Set Name Sample Subtask1 Subtask2
Score / Max Score 0 / 0 30 / 30 70 / 70
Status
AC × 4
AC × 16
AC × 39
Set Name Test Cases
Sample subtask0_sample01.txt, subtask0_sample02.txt, subtask0_sample03.txt, subtask0_sample04.txt
Subtask1 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, subtask0_sample01.txt, subtask0_sample02.txt, subtask0_sample03.txt
Subtask2 subtask0_sample01.txt, subtask0_sample02.txt, subtask0_sample03.txt, subtask0_sample04.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, subtask2_01.txt, subtask2_02.txt, subtask2_03.txt, subtask2_04.txt, subtask2_05.txt, subtask2_06.txt, subtask2_07.txt, subtask2_08.txt, subtask2_09.txt, subtask2_10.txt, subtask2_11.txt, subtask2_12.txt, subtask2_13.txt, subtask2_14.txt, subtask2_15.txt, subtask2_16.txt, subtask2_17.txt, subtask2_18.txt, subtask2_19.txt, subtask2_20.txt, subtask2_21.txt, subtask2_22.txt
Case Name Status Exec Time Memory
subtask0_sample01.txt AC 21 ms 800 KB
subtask0_sample02.txt AC 21 ms 928 KB
subtask0_sample03.txt AC 21 ms 928 KB
subtask0_sample04.txt AC 21 ms 808 KB
subtask1_01.txt AC 20 ms 920 KB
subtask1_02.txt AC 20 ms 804 KB
subtask1_03.txt AC 20 ms 928 KB
subtask1_04.txt AC 21 ms 932 KB
subtask1_05.txt AC 22 ms 804 KB
subtask1_06.txt AC 21 ms 928 KB
subtask1_07.txt AC 21 ms 800 KB
subtask1_08.txt AC 21 ms 932 KB
subtask1_09.txt AC 21 ms 924 KB
subtask1_10.txt AC 20 ms 796 KB
subtask1_11.txt AC 21 ms 796 KB
subtask1_12.txt AC 24 ms 804 KB
subtask1_13.txt AC 22 ms 924 KB
subtask2_01.txt AC 22 ms 820 KB
subtask2_02.txt AC 21 ms 676 KB
subtask2_03.txt AC 21 ms 748 KB
subtask2_04.txt AC 21 ms 804 KB
subtask2_05.txt AC 21 ms 924 KB
subtask2_06.txt AC 20 ms 780 KB
subtask2_07.txt AC 21 ms 804 KB
subtask2_08.txt AC 21 ms 804 KB
subtask2_09.txt AC 21 ms 920 KB
subtask2_10.txt AC 21 ms 804 KB
subtask2_11.txt AC 21 ms 796 KB
subtask2_12.txt AC 21 ms 928 KB
subtask2_13.txt AC 21 ms 924 KB
subtask2_14.txt AC 21 ms 932 KB
subtask2_15.txt AC 21 ms 804 KB
subtask2_16.txt AC 20 ms 800 KB
subtask2_17.txt AC 21 ms 808 KB
subtask2_18.txt AC 21 ms 804 KB
subtask2_19.txt AC 20 ms 808 KB
subtask2_20.txt AC 21 ms 928 KB
subtask2_21.txt AC 21 ms 796 KB
subtask2_22.txt AC 21 ms 928 KB