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 |
|
|
|
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 |