Pagini recente » Cod sursa (job #143976) | Cod sursa (job #1638744) | Cod sursa (job #2884464) | Cod sursa (job #944077) | Cod sursa (job #485433)
Cod sursa(job #485433)
#include <algorithm>
using namespace std;
#define DIM 5005
int v[DIM],a[DIM],b[DIM],c[DIM];
int n,nrt;
void read ()
{
int i;
scanf ("%d",&n);
a[1]=b[1]=c[1]=1;
for (i=2; i<=n; ++i)
scanf ("%d%d%d",&a[i],&b[i],&c[i]);
}
inline void get_nr (int nr,int val)
{
int i;
for (i=1; i<=n; ++i)
if (!v[i])
if (--nr==0)
{
v[i]=val;
return ;
}
}
void solve ()
{
int i;
for (i=n; i>=1; --i)
{
if (a[i]!=b[i] && b[i]!=c[i] && c[i]!=a[i])
{
get_nr (a[i],i-1);
if (a[i]<b[i])
get_nr (b[i]-1,i);
else
get_nr (b[i],i);
--i;
}
else if (b[i]==c[i])
get_nr (b[i],i);
else
get_nr (a[i],i);
++nrt;
}
}
void print ()
{
int i;
printf ("%d\n",nrt);
for (i=1; i<=n; ++i)
printf ("%d ",v[i]);
}
int main ()
{
freopen ("sortare.in","r",stdin);
freopen ("sortare.out","w",stdout);
read ();
solve ();
print ();
return 0;
}