HDOJ solutions