Submission

Status:

PPPPPPPPPP

Subtask/Task Score:

100/100

Score: 100

User: colo39

Problemset: เลขฐานเบญจภาคได้ดุล

Language: cpp

Time: 0.212 second

Submitted On: 2026-10-06 14:16:22

#include <bits/stdc++.h>
using namespace std;
int a[10];
int n;
int ch[] = {-2,-1,0,1,2};
vector<int> rst;
bool check = 0;
void sol(int now) {
    if (check) return;
    if (now == 8) {
        int rs = 0;
        int p = 1;
        for (int i = 1;i <= 7 ;i++) {
            rs += p * a[i];
            p *= 5;
        }
        if (rs == n) {
            for (int i = 1;i <= 7 ;i++) {
                rst.push_back(a[i]);
            }
            check = 1;
        }
        return;
    }

    for (int i = 0;i < 5;i++) {
        a[now] = ch[i];
        sol(now+1);
        if (check) return;
    }
}
int main () {
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    int q;
    cin >> q;
    while (q--) {
        cin >> n;
        if (n == 0) {
            cout << 0 << "\n";
            continue;
        }
        sol(1);
        bool ck = 0;
        while (!rst.empty() && rst.back() == 0) {
            rst.pop_back();
        }

        for (auto i : rst) cout << i << " ";
        cout << "\n";
        check = 0;
        rst.clear();
    }
}