Submission

Status:
PPTTTTTTTT

Score: 20

User: 1669

Problemset: Strobogrammatic Numbers

Language: cpp

Time: 1.090 second

Submitted On: 2024-12-09 14:26:50

#include <bits/stdc++.h>
using namespace std;

bool check(string s) {
    string rs = s;
    for (int i = 0; i < s.size(); i++) {
        if (s[i] == '2' || s[i] == '3' || s[i] == '4' || s[i] == '5' || s[i] == '7') {
            return false;
        }
        if (s[i] == '6') rs[s.size() - i - 1] = '9';
        else if (s[i] == '9') rs[s.size() - i - 1] = '6';
        else if (s[i] == '1') rs[s.size() - i - 1] = '1';
        else if (s[i] == '0') rs[s.size() - i - 1] = '0';
        else if (s[i] == '8') rs[s.size() - i - 1] = '8';
    }
    return rs == s;
}

int main() {
    unsigned long long int a, b;
    cin >> a >> b;
    int cnt = 0;

    for (unsigned long long int i = a; i <= b; i++) {
        string s = to_string(i);
        if (check(s)) cnt++;
    }
    cout << cnt ;
    return 0;
}