Submission #1110603
Source Code Expand
#include <iostream> #include <iomanip> #include <cstdio> #include <string> #include <cstring> #include <deque> #include <list> #include <queue> #include <stack> #include <vector> #include <utility> #include <algorithm> #include <map> #include <set> #include <complex> #include <cmath> #include <limits> #include <cfloat> #include <climits> #include <ctime> #include <cassert> using namespace std; #define rep(i,a,n) for(int (i)=(a); (i)<(n); (i)++) #define repq(i,a,n) for(int (i)=(a); (i)<=(n); (i)++) #define repr(i,a,n) for(int (i)=(a); (i)>=(n); (i)--) #define all(v) begin(v), end(v) #define pb(a) push_back(a) #define fr first #define sc second #define INF 2000000000 #define int long long int #define X real() #define Y imag() #define EPS (1e-10) #define EQ(a,b) (abs((a) - (b)) < EPS) #define EQV(a,b) ( EQ((a).X, (b).X) && EQ((a).Y, (b).Y) ) #define LE(n, m) ((n) < (m) + EPS) #define LEQ(n, m) ((n) <= (m) + EPS) #define GE(n, m) ((n) + EPS > (m)) #define GEQ(n, m) ((n) + EPS >= (m)) typedef vector<int> VI; typedef vector<VI> MAT; typedef pair<int, int> pii; typedef long long ll; typedef complex<double> P; typedef pair<P, P> L; typedef pair<P, double> C; int dy[]={0, 0, 1, -1}; int dx[]={1, -1, 0, 0}; int const MOD = 1000000007; namespace std { bool operator<(const P& a, const P& b) { return a.X != b.X ? a.X < b.X : a.Y < b.Y; } } int tbl[] = {1, 2, 3, 4, 4, 5, 6, 7, 8, 8}; int calc(string x) { if(x == "-1") return 0; int ret = 0; reverse(x.begin(), x.end()); bool check[20] = {}; rep(i,0,x.length()) { if(x[i] == '4' || x[i] == '9') { rep(j,0,i) check[j] = true; } } rep(i,0,x.length()) { int d = x[i] - '0'; if(check[i]) continue; if(i == 0) { ret += tbl[d]; // printf("debug(0): %lld\n", tbl[d]); } else { int temp = 1; temp *= tbl[d-1]; rep(j,0,i) temp *= 8; ret += temp; // printf("debug(%lld): %lld\n", i, temp); } } return ret; } int solve(int a, int b) { string s1 = to_string(a-1), s2 = to_string(b); int s = b - a + 1; int t = calc(s2) - calc(s1); // printf("s = %lld, t = %lld\n", s, t); return s - t; } signed main() { int a, b; cin >> a >> b; int ans = solve(a, b); cout << ans << endl; return 0; }
Submission Info
Submission Time | |
---|---|
Task | D - 禁止された数字 |
User | tsutaj |
Language | C++ (G++ 4.6.4) |
Score | 0 |
Code Size | 2494 Byte |
Status | CE |
Compile Error
./Main.cpp: In function ‘long long int solve(long long int, long long int)’: ./Main.cpp:94:30: error: ‘to_string’ was not declared in this scope