гениально, Shum, тебе не кажется, что ты МНОГОЕ упустил в условии?
"Комментарии. 1o. Считайте, что островов на реке нет.
2o. Расстояние от точки на реке до берега можно понимать двояко: как минимальное расстояние до берега по прямой (при этом прямая может пересекать другой берег), или как длину кратчайшего пути по воде. Эти расстояния могут быть различными, если мыс одного берега загораживает другой берег (см. рис.). В задаче используется расстояние во втором смысле."