Prev
β Next
β
β
Question 45 β UTC Tryout #2 OSN-K 2024 C2a
FINAL TEST Β· 30 points Β· Answer key: 321231312132213123
β
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?