Here is my approach for CF Round 647 Div2 D:
Traverse the blogs from 1 to n. Check the neighbours of current blog for:
If topic of the neighbour and the topic of the current blog isn't same.
Topic of the current blog is the smallest possible missing topic in the set of topics of neighbours.
Then if I pass both the condition for all the blogs, I go on to print the blog number in sorted order of topics.
My submission: https://codeforces.com/contest/1362/submission/82608827
Most probably I have missed a case where the answer doesn't exist. However, I am unable to find where I am going wrong.