I m assuming that the river velocity is perpendicular to the direction in which the boatman wants to move ...to be more clear ..consider the 4 known directions ..north,south,east ,west.
Assume the boatman wants to move from South to North, and let the river flow be from west to east.
First part of the question ..suppose he wants to reach exactly opp. to where he started..
He should try to move in the north west dir..so that its horizontal component cancels the rightward velocity of the river...
Let the angle made by his velocity with the horizontal line be a.then
vcos(a) = 5 => 10cos(a) = 5 => a = 60 degrees ...Thus to reach the exactly opp pt. he should row at 60 degrees with the horizontal line ..in this case ..west -east line ..
Now if he has to reach the bank in the shortest possible time ...then there is only way to do it..row straight ...
Note that the horizontal velocity does not affect our discussion ..it is only the forward velocity that matters ....and we know the maximum forward velocity is his speed 10kmph ...This way he'll reach fastest ..
Now assume he is going at an angle 60 degrees(according to first case)
Then effective forward velocity = 10sin(60) = 10

3/2 = 5

3
Thus time taken is distance/speed = 1/5

3 hrs =6.928 minutes
Now assume he is going straight ...this case vertical velocity is 10kmph ...
Thus time taken is 1/10 hrs = 6 minutes