Submission
Status:
PPPPPPPPPP
Subtask/Task Score:
100/100
Score: 100
User: konthaina_TH
Problemset: Strobogrammatic Numbers
Language: cpp
Time: 0.025 second
Submitted On: 2026-09-26 01:58:41
#include <bits/stdc++.h>
using namespace std;
#define ll long long
ll a,b;
int cnt = 0;
vector<pair<char,char>> pairs = {{'0','0'},{'1','1'},{'8','8'},{'6','9'},{'9','6'}};
void gen(string cur,int len) {
if (cur.length() == len) {
if (len > 1 and cur[0] == '0') return;
ll val = stoll(cur);
if (val >= a and val <= b) {
cnt++;
}
return;
}
if (cur.length() == 0 and len % 2 != 0) {
gen("1",len);
gen("0",len);
gen("8",len);
return;
}
for (auto p : pairs) {
gen(p.first + cur + p.second,len);
}
}
int main() {
cin >> a >> b;
int min_len = to_string(a).length();
int max_len = to_string(b).length();
for (int len = min_len;len <= max_len;len++) {
gen("",len);
}
cout << cnt << "\n";
return 0;
}