Submission
Status:
PPPPPPPPPP
Subtask/Task Score:
100/100
Score: 100
User: mantaggez
Problemset: Strobogrammatic Numbers
Language: cpp
Time: 0.022 second
Submitted On: 2026-03-22 19:39:48
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
ll low, high, ans;
void cal(string s, ll n)
{
if(s.size() == n) {
if(s.size() > 1 && s[0] == '0') return ;
ll val = stoll(s);
if(low <= val && val <= high) {
ans++;
}
return ;
}
if(n % 2 && s.size() == 0) {
cal("0", n);
cal("1", n);
cal("8", n);
return ;
}
cal("0" + s + "0", n);
cal("1" + s + "1", n);
cal("8" + s + "8", n);
cal("6" + s + "9", n);
cal("9" + s + "6", n);
}
int main()
{
cin.tie(NULL)->sync_with_stdio(false);
cin >> low >> high;
ll min_len = to_string(low).size();
ll max_len = to_string(high).size();
for(ll len=min_len;len<=max_len;len++) {
cal("", len);
}
cout << ans << '\n';
return 0;
}