<?php
$times_arrival =
3 =>
0 =>
0 => '1',
1 => '08:12'),
1 =>
0 => '2',
1 => '08:40')),
41 =>
0 =>
0 => '21',
1 => '12:40')));
foreach($times_arrival as $city_id => $time_points) {
if (isset($times_departure[$city_id]) && isset($cities[$city_id])) {
foreach($times_arrival[$city_id] as $t1_info)
{
foreach($times_departure[$city_id] as $t2_info)
{
if ($t1_info[0] != $t2_info[0])
{
$t1 = $t1_info[1];
$t2 = $t2_info[1];
$vertex_key = new Vertex($city_id, $t1, 1);
$vertex_key = $vertex_key->toString();
{
$this->graph[$vertex_key][] = new Edge(
NULL,
$vertex_key,
new Vertex($city_id, $t2, 0),
(float) 0,
);
}
{
$this->graph[$vertex_key][] = new Edge(
NULL,
$vertex_key,
new Vertex($city_id, $t2, 0),
(float) 0,
);
}
}
}
}
}
}
?>
PD9waHAKJHRpbWVzX2Fycml2YWwgPQphcnJheSgKICAzID0+IAogICAgYXJyYXkoCiAgICAgIDAgPT4gCiAgICAgICAgYXJyYXkoCiAgICAgICAgICAwID0+ICcxJywKICAgICAgICAgIDEgPT4gJzA4OjEyJyksCiAgICAgIDEgPT4gCiAgICAgICAgYXJyYXkoCiAgICAgICAgICAwID0+ICcyJywKICAgICAgICAgIDEgPT4gJzA4OjQwJykpLAogIDQxID0+IAogICAgYXJyYXkoCiAgICAgIDAgPT4gCiAgICAgICAgYXJyYXkoCiAgICAgICAgICAwID0+ICcyMScsCiAgICAgICAgICAxID0+ICcxMjo0MCcpKSk7CgoKZm9yZWFjaCgkdGltZXNfYXJyaXZhbCBhcyAkY2l0eV9pZCA9PiAkdGltZV9wb2ludHMpIHsKaWYgKGlzc2V0KCR0aW1lc19kZXBhcnR1cmVbJGNpdHlfaWRdKSAmJiBpc3NldCgkY2l0aWVzWyRjaXR5X2lkXSkpCnsKICAgIGZvcmVhY2goJHRpbWVzX2Fycml2YWxbJGNpdHlfaWRdIGFzICR0MV9pbmZvKSAKICAgIHsKICAgICAgICBmb3JlYWNoKCR0aW1lc19kZXBhcnR1cmVbJGNpdHlfaWRdIGFzICR0Ml9pbmZvKSAKICAgICAgICB7CiAgICAgICAgICAgIGlmICgkdDFfaW5mb1swXSAhPSAkdDJfaW5mb1swXSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgJHQxID0gJHQxX2luZm9bMV07CiAgICAgICAgICAgICAgICAkdDIgPSAkdDJfaW5mb1sxXTsKCiAgICAgICAgICAgICAgICAkdmVydGV4X2tleSA9IG5ldyBWZXJ0ZXgoJGNpdHlfaWQsICR0MSwgMSk7CiAgICAgICAgICAgICAgICAkdmVydGV4X2tleSA9ICR2ZXJ0ZXhfa2V5LT50b1N0cmluZygpOwoKICAgICAgICAgICAgICAgIGlmIChkYXRlKCdIOmknLCBzdHJ0b3RpbWUoJHQyKSkgPiBkYXRlKCdIOmknLCBzdHJ0b3RpbWUoJysgMTAgbWludXRlcycsIHN0cnRvdGltZSgkdDEpKSkpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgJHRoaXMtPmdyYXBoWyR2ZXJ0ZXhfa2V5XVtdID0gbmV3IEVkZ2UoCiAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsCiAgICAgICAgICAgICAgICAgICAgICAgICR2ZXJ0ZXhfa2V5LCAKICAgICAgICAgICAgICAgICAgICAgICAgbmV3IFZlcnRleCgkY2l0eV9pZCwgJHQyLCAwKSwKICAgICAgICAgICAgICAgICAgICAgICAgKGZsb2F0KSAwLAogICAgICAgICAgICAgICAgICAgICAgICAkZigoc3RydG90aW1lKCR0MikgLSBzdHJ0b3RpbWUoJHQxKSkgLyA2MCwgMCwgMSkgLy9lZGdlIHdlaWdodAogICAgICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBlbHNlIGlmIChkYXRlKCdIOmknLCBzdHJ0b3RpbWUoJysgMjQgaG91cnMnLCBzdHJ0b3RpbWUoJHQyKSkpID4gZGF0ZSgnSDppJywgc3RydG90aW1lKCcrIDEwIG1pbnV0ZXMnLCBzdHJ0b3RpbWUoJHQxKSkpKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICR0aGlzLT5ncmFwaFskdmVydGV4X2tleV1bXSA9IG5ldyBFZGdlKAogICAgICAgICAgICAgICAgICAgICAgICBOVUxMLCAKICAgICAgICAgICAgICAgICAgICAgICAgJHZlcnRleF9rZXksCiAgICAgICAgICAgICAgICAgICAgICAgIG5ldyBWZXJ0ZXgoJGNpdHlfaWQsICR0MiwgMCksCiAgICAgICAgICAgICAgICAgICAgICAgIChmbG9hdCkgMCwKICAgICAgICAgICAgICAgICAgICAgICAgJGYoc3RydG90aW1lKCcrIDI0IGhvdXJzJywgc3RydG90aW1lKCR0MikpIC0gc3RydG90aW1lKCR0MSkgLyA2MCwgMCwgMSkKICAgICAgICAgICAgICAgICAgICApOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQp9Cn0KPz4=