This problem is used in private contest:C++挑战赛3
C++挑战赛6