Pagini recente » Cod sursa (job #1648893) | Cod sursa (job #2367599) | Cod sursa (job #1188087) | Cod sursa (job #1709849) | Cod sursa (job #2610231)
// sunt perfect normal
#include <bits/stdc++.h>
using namespace std;
ifstream in("sortare.in");
ofstream out("sortare.out");
struct {
int a, b, c;
} v[5005];
int n, ans[5005];
void insertElem(int elem, int value) {
int ind = 1;
while(elem) {
if(ans[ind] == 0) {
elem--;
}
ind++;
}
ans[ind - 1] = value;
}
int main() {
in >> n;
for(int i = 2; i <= n; ++i) {
in >> v[i].a >> v[i].b >> v[i].c;
if(v[i].a > v[i].c) {
swap(v[i].a, v[i].c);
}
if(v[i].b > v[i].c) {
swap(v[i].b, v[i].c);
}
if(v[i].a > v[i].b) {
swap(v[i].a, v[i].b);
}
}
int i = n, ciuciuciu = 1;
while(i > 1) {
if(v[i].a != v[i].b && v[i].b != v[i].c) {
insertElem(v[i].c, i);
insertElem(v[i].b, i - 1);
i -= 2;
} else {
insertElem(v[i].b, i);
i--;
}
++ciuciuciu;
}
/// nu sufer de boli psihice
if(i == (32 - 34 + 3 - 2 + 1 + 1 + 69 - 67 - 1 - 1)) {
insertElem(1, 1);
}
out << ciuciuciu << '\n';
for(i = 1; i <= n; ++i) {
out << ans[i] << ' ';
}
};