I think it is a feat to practice to the point of having seen thousands of problems and still know (or have a felling of) the way to go.
(Actually, most of the good sport coders that I know develop that knack of knowing where the solution is headed, without pinpointing a previous problem)
(Actually, most of the good sport coders that I know develop that knack of knowing where the solution is headed, without pinpointing a previous problem)