Submission

Status:
PPPPPPPPPPPPPPPPPPPP

Score: 100

User: lazybw_

Problemset: Abacus

Language: cpp

Time: 0.002 second

Submitted On: 2025-01-08 23:04:50

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

int main() {
    string q; cin>>q; vector<pair<int, int>> v; int l = q.length();
    for (int i = 0; i < 8-l; i++) v.push_back(make_pair(0, 0));
    for (auto i : q) v.push_back(make_pair((i-'0')/5, (i-'0')%5));
    /* Debugging shi here*/
    // for (auto i : v) cout << i.first << ' ' << i.second << '\n';
    vector<string> sv; /* Its big brain time */
    for (int i = 0; i < 8; i++) {
        sv.push_back("** - *****");
        if (i != 7) sv.push_back("   -      ");
    }
    for (int i = 0; i < 15; i++) {
        if (i%2 != 0) continue;
        for (int j = 0; j < 10; j++) {
            if (i/2 < 8-l || j == 0 || j == 2 || j == 3 || j == 9) continue;
            if (j == 1) {if (v[i/2].first == 1) swap(sv[i][1], sv[i][2]); continue;}
            if (v[i/2].second > 0) {swap(sv[i][j], sv[i][j+1]); --v[i/2].second;}
        }
    }
    for (int i = 0; i < 10; i++) {
        if (i == 3) {cout << "-----------------\n"; continue;}
        for (int j = 0; j < 15; j++) {
            cout<<sv[j][i];
        } cout<<'\n';
    }

    return 0;
}