Submission #162299
Source Code Expand
#include <iostream> #include <iomanip> #include <sstream> #include <vector> #include <string> #include <set> #include <map> #include <stack> #include <queue> #include <algorithm> #include <functional> #include <iterator> #include <limits> #include <numeric> #include <utility> #include <cmath> using namespace std; using LL = long long; using ULL = unsigned long long; using VI = vector<int>; using VVI = vector<VI>; using VS = vector<string>; using SS = stringstream; using PII = pair<int,int>; using VPII = vector< pair<int,int> >; template < typename T = int > using VT = vector<T>; template < typename T = int > using VVT = VT< VT<T> >; template < typename T = int > using LIM = numeric_limits<T>; template < typename T > inline T fromString( const string &s ){ T res; istringstream iss( s ); iss >> res; return res; }; template < typename T > inline string toString( const T &a ){ ostringstream oss; oss << a; return oss.str(); }; #define REP( i, m, n ) for ( int i = (int)( m ); i < (int)( n ); ++i ) #define FOR( e, c ) for ( auto &e : c ) #define ALL( c ) (c).begin(), (c).end() #define AALL( a, t ) (t*)a, (t*)a + sizeof( a ) / sizeof( t ) #define DRANGE( c, p ) (c).begin(), (c).begin() + p, (c).end() #define PB( n ) push_back( n ) #define MP( a, b ) make_pair( ( a ), ( b ) ) #define EXIST( c, e ) ( (c).find( e ) != (c).end() ) #define fst first #define snd second #define DUMP( x ) cerr << #x << " = " << ( x ) << endl LL solve( const LL N ) { const string S = toString( N ); const int L = S.size(); VT< VT< VT<LL> > > dp( L + 1, VT< VT<LL> >( 2, VT<LL>( 2 ) ) ); dp[0][0][0] = 1; REP( i, 0, L ) { const int D = S[i] - '0'; REP( j, 0, 2 ) { REP( k, 0, 2 ) { REP( d, 0, k ? 10 : D + 1 ) { dp[ i + 1 ][ j || d == 4 || d == 9 ][ k || d < D ] += dp[i][j][k]; } } } } return accumulate( ALL( dp.back().back() ), 0LL ); } int main() { cin.tie( 0 ); ios::sync_with_stdio( false ); LL a, b; cin >> a >> b; cout << solve( b ) - solve( a - 1 ) << endl; return 0; }
Submission Info
Submission Time | |
---|---|
Task | D - 禁止された数字 |
User | torus711 |
Language | C++11 (GCC 4.8.1) |
Score | 100 |
Code Size | 2123 Byte |
Status | AC |
Exec Time | 25 ms |
Memory | 932 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 | 22 ms | 796 KB |
subtask0_sample02.txt | AC | 20 ms | 928 KB |
subtask0_sample03.txt | AC | 21 ms | 804 KB |
subtask0_sample04.txt | AC | 20 ms | 924 KB |
subtask1_01.txt | AC | 20 ms | 844 KB |
subtask1_02.txt | AC | 22 ms | 932 KB |
subtask1_03.txt | AC | 20 ms | 924 KB |
subtask1_04.txt | AC | 20 ms | 924 KB |
subtask1_05.txt | AC | 22 ms | 924 KB |
subtask1_06.txt | AC | 21 ms | 796 KB |
subtask1_07.txt | AC | 20 ms | 792 KB |
subtask1_08.txt | AC | 22 ms | 804 KB |
subtask1_09.txt | AC | 20 ms | 924 KB |
subtask1_10.txt | AC | 25 ms | 812 KB |
subtask1_11.txt | AC | 20 ms | 800 KB |
subtask1_12.txt | AC | 21 ms | 748 KB |
subtask1_13.txt | AC | 19 ms | 792 KB |
subtask2_01.txt | AC | 20 ms | 796 KB |
subtask2_02.txt | AC | 20 ms | 928 KB |
subtask2_03.txt | AC | 22 ms | 932 KB |
subtask2_04.txt | AC | 20 ms | 932 KB |
subtask2_05.txt | AC | 20 ms | 796 KB |
subtask2_06.txt | AC | 21 ms | 932 KB |
subtask2_07.txt | AC | 20 ms | 800 KB |
subtask2_08.txt | AC | 20 ms | 800 KB |
subtask2_09.txt | AC | 20 ms | 840 KB |
subtask2_10.txt | AC | 20 ms | 924 KB |
subtask2_11.txt | AC | 22 ms | 924 KB |
subtask2_12.txt | AC | 21 ms | 796 KB |
subtask2_13.txt | AC | 21 ms | 932 KB |
subtask2_14.txt | AC | 21 ms | 928 KB |
subtask2_15.txt | AC | 22 ms | 928 KB |
subtask2_16.txt | AC | 20 ms | 800 KB |
subtask2_17.txt | AC | 20 ms | 924 KB |
subtask2_18.txt | AC | 20 ms | 792 KB |
subtask2_19.txt | AC | 20 ms | 924 KB |
subtask2_20.txt | AC | 21 ms | 804 KB |
subtask2_21.txt | AC | 20 ms | 928 KB |
subtask2_22.txt | AC | 21 ms | 800 KB |