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;
}