Submission #162589


Source Code Expand

#include <algorithm>
#include <cfloat>
#include <climits>
#include <cmath>
#include <complex>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <functional>
#include <iostream>
#include <map>
#include <memory>
#include <queue>
#include <set>
#include <sstream>
#include <stack>
#include <string>
#include <utility>
#include <vector>
 
using namespace std;
 
#define sz size()
#define pb push_back
#define mp make_pair
#define fi first
#define se second
#define all(c) (c).begin(), (c).end()
#define rep(i,a,b) for(int i=(a);i<(b);++i)
#define clr(a, b) memset((a), (b) ,sizeof(a))
 
#define MOD 1000000007

long long f(__int64 n){
	int d[20];
	clr(d,0);
	vector<int> v;
	rep(i,0,20){
		v.pb(n%10);
		n/=10;
	}
	reverse(all(v));
	
	long long dp[20][2];
	clr(dp,0);
	
	dp[0][1] = 1;
	
	rep(i,1,20){
		rep(k,0,10){
			if(k == 4 || k == 9){
				continue;
			}
			if(k > v[i]){
				dp[i][0] += dp[i-1][0];
			}
			else if(k == v[i]){
				dp[i][1] += dp[i-1][1];
				dp[i][0] += dp[i-1][0];
			}
			else if(k < v[i]){
				dp[i][0] += dp[i-1][0];
				dp[i][0] += dp[i-1][1];
			}
		}
	}
	
	return dp[19][0]+dp[19][1];
}

int main(){
  long long a,b;
  
  cin >> a >> b;
  
  cout << b - a + 1 - f(b) + f(a-1) << endl;
  
  return 0;
}

Submission Info

Submission Time
Task D - 禁止された数字
User cls0001011
Language C++ (G++ 4.6.4)
Score 0
Code Size 1320 Byte
Status CE

Compile Error

./Main.cpp:34:13: error: ‘__int64’ was not declared in this scope
./Main.cpp:34:23: error: expected ‘,’ or ‘;’ before ‘{’ token