auto &[u, cnt] = q.front();
q.pop();
for (auto i : g[u])
Присваиваешь u и cnt по ссылке, потом удаляешь их из очереди а затем снова используешь. Точно не знаю что там на деле происходит (вероятно, они просто чем-то сверху перезаписываются потом и все ломается), но делать так не стоит. С auto [u, cnt] = q.front(); все работает.
Присваиваешь
u
иcnt
по ссылке, потом удаляешь их из очереди а затем снова используешь. Точно не знаю что там на деле происходит (вероятно, они просто чем-то сверху перезаписываются потом и все ломается), но делать так не стоит. Сauto [u, cnt] = q.front();
все работает.Спасибо большое!
Но странно, я эту технику взял у jiangly.