Submission #648022


Source Code Expand

#include <cstdio>
#include <iostream>
using namespace std;

typedef long long ll;

ll func(ll x){
	ll dp[20][2]={0}; //dp[ 上から何桁目 ][ n以下が確定しているか否か ]
	int s[20];

	int size=0;
	ll t=x;
	do{
		t/=10;
		++size;
	}while(t>0);

	for(int i=0; i<size; ++i){
		s[size-1-i]=x%10;
		x/=10;
		//printf("%d: %d\n",size-1-i, s[size-1-i]);
	}

	//初期化
	for(int i=0; i<size; ++i) dp[i][0]=dp[i][1]=0;
	dp[0][0]=1;

	for(int i=0; i<size; ++i){
		for(int j=0; j<10;++j){
			if(j==4 || j==9) continue;

			if(j<s[i]) dp[i+1][1]+=dp[i][0]+dp[i][1];
			else if(j==s[i]){
				dp[i+1][0]+=dp[i][0];
				dp[i+1][1]+=dp[i][1];
			}
			else{
				dp[i+1][1]+=dp[i][1];
			}
		}

		//printf("dp[%d][0]=%lld : dp[%d][1]=%lld\n",i, dp[i][0], i,dp[i][1]);
	}

	return dp[size][0]+dp[size][1];
}

int main(){
	ll a, b;

	cin >>a >>b;
	cout << b-a+1 - (func(b)-func(a-1)) << endl;

	return 0;
}

Submission Info

Submission Time
Task D - 禁止された数字
User imulan
Language C++11 (GCC 4.8.1)
Score 100
Code Size 959 Byte
Status AC
Exec Time 32 ms
Memory 1088 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 32 ms 968 KB
subtask0_sample02.txt AC 28 ms 896 KB
subtask0_sample03.txt AC 31 ms 840 KB
subtask0_sample04.txt AC 30 ms 832 KB
subtask1_01.txt AC 30 ms 896 KB
subtask1_02.txt AC 28 ms 896 KB
subtask1_03.txt AC 28 ms 888 KB
subtask1_04.txt AC 28 ms 892 KB
subtask1_05.txt AC 28 ms 840 KB
subtask1_06.txt AC 28 ms 888 KB
subtask1_07.txt AC 29 ms 956 KB
subtask1_08.txt AC 28 ms 896 KB
subtask1_09.txt AC 30 ms 960 KB
subtask1_10.txt AC 28 ms 844 KB
subtask1_11.txt AC 30 ms 976 KB
subtask1_12.txt AC 28 ms 896 KB
subtask1_13.txt AC 30 ms 896 KB
subtask2_01.txt AC 31 ms 896 KB
subtask2_02.txt AC 30 ms 892 KB
subtask2_03.txt AC 29 ms 1016 KB
subtask2_04.txt AC 30 ms 1088 KB
subtask2_05.txt AC 30 ms 900 KB
subtask2_06.txt AC 30 ms 844 KB
subtask2_07.txt AC 30 ms 960 KB
subtask2_08.txt AC 30 ms 832 KB
subtask2_09.txt AC 30 ms 960 KB
subtask2_10.txt AC 30 ms 904 KB
subtask2_11.txt AC 30 ms 960 KB
subtask2_12.txt AC 30 ms 960 KB
subtask2_13.txt AC 30 ms 972 KB
subtask2_14.txt AC 28 ms 972 KB
subtask2_15.txt AC 30 ms 892 KB
subtask2_16.txt AC 29 ms 956 KB
subtask2_17.txt AC 30 ms 888 KB
subtask2_18.txt AC 30 ms 980 KB
subtask2_19.txt AC 30 ms 896 KB
subtask2_20.txt AC 30 ms 956 KB
subtask2_21.txt AC 28 ms 896 KB
subtask2_22.txt AC 30 ms 848 KB