← Back to FINAL TEST
Prev
←

Question 45 β€” UTC Tryout #2 OSN-K 2024 C2a

FINAL TEST Β· 30 points Β· Answer key: 321231312132213123

Next
β†’

Question

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

int belia(int x, int pos) {
    if (x == 0) return -1;
    if (pos == 0) return x % 10;
    return belia(x / 10, pos - 1);
}

int N;
int A[10000];

void pakar(int l, int r, int pos) {
    if (l == r) return;
    for (int i = l; i <= r; i++) {
        for (int j =i + 1; j <= r; j++) {
            if (belia(A[i], pos) > belia(A[j], pos)) {
                int t = A[i];
                A[i] = A[j];
                A[j] = t;
            }
        }
    }
    int start = l;
    for (int i = l; i <= r; i++) {
        if (belia(A[start], pos) != belia(A[i], pos)) {
            pakar(start, i - 1, pos + 1);
            start = i;
        }
    }
    pakar(start, r, pos + 1);
    return;
}

int main() {
    cin >> N;
    for (int i = 0; i < N; i++) cin >> A[i];
    pakar(0, N - 1, 0);
    for (int i = 0; i < N; i++) cout << A[i];

Jika ada masukan N=6 dan A={123,132,213,231,312,321} maka apa keluaran (output) dari program tersebut?

Answers (9 members)

MemberAnswer
Yazid321231312132213123
Danish321
Algazel123213132312231321
Habibie-
Kian-
Athar-
Priscilla-
Quinna-
Athmar-