Pagini recente » Cod sursa (job #80695) | Cod sursa (job #261979) | Cod sursa (job #1116016) | Cod sursa (job #2946090) | Cod sursa (job #2393966)
#include<bits/stdc++.h>
using namespace std;
const int maxN=(5e3+5);
int v[maxN],sol,a[maxN][5];
inline void punepunepune(int pos,int x)
{
int where=1;
while(pos)
{
if(!v[where]) pos--;
where++;
}
v[where-1]=x;
}
int n;
int main()
{
freopen("sortare.in","r",stdin);
freopen("sortare.out","w",stdout);
scanf("%d",&n);
for(int i=2;i<=n;i++)
{
scanf("%d%d%d",&a[i][1],&a[i][2],&a[i][3]);
sort(a[i]+1,a[i]+4);
}
int m=n;
int sol=1;
while(n>1)
{
sol++;
if(a[n][1]!=a[n][2] && a[n][2]!=a[n][3])
{
punepunepune(a[n][3],n);
punepunepune(a[n][2],n-1);
n-=2;
}
else
{
punepunepune(a[n][2],n);
n--;
}
}
if(n==1)
punepunepune(1,1);
printf("%d\n",sol);
for(int i=1;i<=m;i++)
printf("%d ",v[i]);
printf("\n");
return 0;
}