Submission
Status:
PP--------
Subtask/Task Score:
20/100
Score: 20
User: letdown
Problemset: Strobogrammatic Numbers
Language: cpp
Time: 0.002 second
Submitted On: 2025-10-12 17:56:01
#include <iostream>
#include <vector>
using namespace std;
vector<string> createStrobo(int len) {
vector<string> strobo = {"", "0", "1", "8"};
int l = 0;
for (int i = 0; i < strobo.size(); i++) {
string mid = strobo[i];
if (l > len) break;;
if (mid.length() < l) strobo.push_back("0" + mid + "0");
strobo.push_back("1" + mid + "1");
strobo.push_back("6" + mid + "9");
strobo.push_back("8" + mid + "8");
strobo.push_back("9" + mid + "6");
l++;
}
return strobo;
}
int main() {
long long low, high, ans=0;
cin >> low >> high;
vector<string> strobo = createStrobo(to_string(high).length());
for (auto s : strobo) {
// cout << s << " ";
if (s == "") continue;
long long sint = stoll(s);
if (sint >= low && sint <= high) ans++;
}
cout << ans;
}