Хелп!!! Срочно нужна программа на си++.Суть следующая:

Улицы в городе,построенном в средние века оказались слишком узкими для двустороннего движения.Необходимо спланировать движение так,чтобы с любой площади можно было бы проехать до любой другой.Площадей 15,всюду движение двустороннее(в смысле на площадях).Найти все все дороги между 3-мя несмежными площадями и определить кратчайший путь межде ними.

Вроде бы она должна решаться с помощью теории граф....сам я ни в графах ни в си...
Помогите пожалуйста!!!!!!!!!!Программа нужна срочно