Part of course:
Codeforces 321C: Ciel The Commander
Problem in short:
Given a tree consisting of N nodes (<= 10^5). Assign a letter ('A'-'Z') to each node. For any 2 distinct nodes having the same letter, the path between them must contain at least one node assigned a smaller letter (A being the smallest letter).
Print a valid assignment or state that it's impossible.