結果
| 問題 |
No.160 最短経路のうち辞書順最小
|
| コンテスト | |
| ユーザー |
tails
|
| 提出日時 | 2015-03-02 00:01:23 |
| 言語 | Perl (5.40.0) |
| 結果 |
TLE
|
| 実行時間 | - |
| コード長 | 458 bytes |
| コンパイル時間 | 178 ms |
| コンパイル使用メモリ | 6,944 KB |
| 実行使用メモリ | 14,112 KB |
| 最終ジャッジ日時 | 2024-06-24 00:44:39 |
| 合計ジャッジ時間 | 9,940 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 4 |
| other | AC * 3 TLE * 1 -- * 22 |
コンパイルメッセージ
Name "main::m" used only once: possible typo at Main.pl line 1. Main.pl syntax OK
ソースコード
($n,$m,$s,$g)=<>=~/\d+/g;
for(<>){
($a,$b,$c)=/\d+/g;
$c{$a,$b}=$c{$b,$a}=$c;
}
$v[$g]=1;
push@a,$g;
while(@a){
@a=sort{$v[$a]-$v[$b]}@a;
$a=pop@a;
for$b(0..$n-1){
if($c=$c{$a,$b}){
if($v[$b]==0||$v[$b]>$v[$a]+$c) {
$v[$b]=$v[$a]+$c;
$p[$b]=$a;
push@a,$b;
}elsif($v[$b]==$v[$a]+$c) {
$p[$b].=" $a";
push@a,$b;
}
}
}
}
print $s;
$a=$s;
do{
($a)=sort{$a-$b}$p[$a]=~/\d+/g;
print" $a";
}while($a!=$g);
tails