g++ dijkstra.cpp -O2 -Wall -std=c++14 -static-libgcc -static-libstdc++ -o dijkstra.exe
dijkstra.exe <input.txt
.1 2
2 3
1 3
this.indexes.set(this.heapContainer[indexOne], indexOne);
this.indexes.set(this.heapContainer[indexTwo], indexTwo);
this.indexes.set(this.heapContainer[0], 0);
indexes[heapContainer[indexToRemove]] = indexToRemove;
сделать.if (!distances.get(child[0]) || distances.get(child[0]) > newdistance)
// x,y - точка от которой ищем +1м вверх
// -180 <=x<=180, -90<=y<=90.
l = 0
// required_dist - нужное приращение
r = min(180, 90-y);
while r-l < 1e-10:
m=(r+l)/2;
dist = haversine((x,y),(x,y+m)); // Формула для расстояния между точками.
if dist > required_dist: r = m
else l = m
step = l; // шаг по широте, чтобы сдвинутся на required_dist.