Pagini recente » Cod sursa (job #3169940) | Cod sursa (job #1971879) | Cod sursa (job #1749510) | Cod sursa (job #1946246) | Cod sursa (job #2076405)
#include <algorithm>
#include <fstream>
#include <iostream>
#include <vector>
using namespace std;
const int MAX_N = 5005;
int a[MAX_N], b[MAX_N], c[MAX_N];
int p[MAX_N];
void PutKth(int k, int x) {
int num = 0, index = 0;
while (num < k) {
index += 1;
if (!p[index]) {
++ num;
}
}
p[index] = x;
}
int main() {
ifstream cin("sortare.in");
ofstream cout("sortare.out");
int n, cn;
cin >> n; cn = n;
for (int i = 2; i <= n; ++ i) {
cin >> a[i] >> b[i] >> c[i];
}
while (n > 1) {
if (a[n] == b[n] || a[n] == c[n]) {
PutKth(a[n], n);
n -= 1;
} else if (b[n] == c[n]) {
PutKth(b[n], n);
n -= 1;
} else {
PutKth(max(a[n], b[n]), n);
PutKth(min(a[n], b[n]), n - 1);
n -= 2;
}
}
if (n == 1) {
PutKth(1, 1);
}
for (int i = 1; i <= cn; ++ i) {
cout << p[i] << (i == cn ? "\n" : " ");
}
return 0;
}