This is a directed version of the SPath algorirthm from Peixiang Zhao and Jiawei Han.  I have implemented the algorithm with my best effort considering the time limit.  The code can be further improved.