Submission #163185


Source Code Expand

#include <cstdio>
#include <cstring>
#include <cstdlib>
#include <cmath>
#include <complex>
#include <string>
#include <sstream>
#include <algorithm>
#include <vector>
#include <queue>
#include <stack>
#include <functional>
#include <iostream>
#include <map>
#include <set>
using namespace std;
typedef pair<int,int> P;
typedef long long ll;
typedef vector<int> vi;
typedef vector<ll> vll;
#define pu push
#define pb push_back
#define mp make_pair
#define eps 1e-9
#define INF 2000000000
#define sz(x) ((int)(x).size())
#define fi first
#define sec second
#define SORT(x) sort((x).begin(),(x).end())
#define all(x) (x).begin(),(x).end()
#define EQ(a,b) (abs((a)-(b))<EPS)
ll dp[20][2][2];
ll a,b;
ll ca,cb;
int cnt;
int s[20][2];
ll culc(int digit,bool used,bool flag,int num)
{
	if(digit==-1)return used?1ll:0ll;
	ll &ret=dp[digit][used][flag];
	if(ret!=-1)return ret;
	ret=0;
	for(int i=0;i<=9;i++)
	{
		if(!flag||i<=s[digit][num])ret+=culc(digit-1,(used||i==4||i==9),(flag&&i==s[digit][num]),num);
	}
	return ret;
}
int main()
{
	cin >> a >> b;
	a--;
	memset(dp,-1,sizeof(dp));
	cnt=0;
	while(a>0)
	{
		s[cnt++][0]=a%10;
		a/=10;
	}
	ca=culc(cnt,false,true,0);
	memset(dp,-1,sizeof(dp));
	cnt=0;
	while(b>0)
	{
		s[cnt++][1]=b%10;
		b/=10;
	}
	cb=culc(cnt,false,true,1);
	//cout << cb << ' ' << ca << endl;
	cout << cb-ca << endl;
	return 0;
}

Submission Info

Submission Time
Task D - 禁止された数字
User okura
Language C++ (G++ 4.6.4)
Score 100
Code Size 1419 Byte
Status AC
Exec Time 31 ms
Memory 920 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 23 ms 792 KB
subtask0_sample02.txt AC 22 ms 716 KB
subtask0_sample03.txt AC 22 ms 792 KB
subtask0_sample04.txt AC 23 ms 800 KB
subtask1_01.txt AC 21 ms 916 KB
subtask1_02.txt AC 21 ms 788 KB
subtask1_03.txt AC 24 ms 784 KB
subtask1_04.txt AC 22 ms 792 KB
subtask1_05.txt AC 21 ms 788 KB
subtask1_06.txt AC 22 ms 792 KB
subtask1_07.txt AC 23 ms 792 KB
subtask1_08.txt AC 20 ms 792 KB
subtask1_09.txt AC 20 ms 792 KB
subtask1_10.txt AC 21 ms 916 KB
subtask1_11.txt AC 20 ms 920 KB
subtask1_12.txt AC 22 ms 796 KB
subtask1_13.txt AC 21 ms 916 KB
subtask2_01.txt AC 21 ms 908 KB
subtask2_02.txt AC 24 ms 796 KB
subtask2_03.txt AC 22 ms 796 KB
subtask2_04.txt AC 22 ms 792 KB
subtask2_05.txt AC 22 ms 792 KB
subtask2_06.txt AC 22 ms 916 KB
subtask2_07.txt AC 22 ms 796 KB
subtask2_08.txt AC 22 ms 796 KB
subtask2_09.txt AC 20 ms 836 KB
subtask2_10.txt AC 22 ms 920 KB
subtask2_11.txt AC 20 ms 864 KB
subtask2_12.txt AC 19 ms 792 KB
subtask2_13.txt AC 19 ms 792 KB
subtask2_14.txt AC 22 ms 788 KB
subtask2_15.txt AC 20 ms 916 KB
subtask2_16.txt AC 20 ms 788 KB
subtask2_17.txt AC 19 ms 916 KB
subtask2_18.txt AC 19 ms 792 KB
subtask2_19.txt AC 22 ms 920 KB
subtask2_20.txt AC 23 ms 792 KB
subtask2_21.txt AC 31 ms 796 KB
subtask2_22.txt AC 19 ms 788 KB