結果

問題 No.3 ビットすごろく
ユーザー ねず
提出日時 2018-01-25 19:15:13
言語 PHP
(843.2)
結果
AC  
実行時間 46 ms / 5,000 ms
コード長 460 bytes
コンパイル時間 68 ms
コンパイル使用メモリ 32,656 KB
実行使用メモリ 31,476 KB
最終ジャッジ日時 2024-07-01 08:53:43
合計ジャッジ時間 2,455 ms
ジャッジサーバーID
(参考情報)
judge5 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 33
権限があれば一括ダウンロードができます
コンパイルメッセージ
No syntax errors detected in Main.php

ソースコード

diff #

<?php
$n = trim(fgets(STDIN));
$a = array_fill(0, $n + 1, -1);
$queue[0] = $a[1] = 1;
while (count($queue) > 0) {
	$m = array_shift($queue);
	$bc = substr_count(decbin($m), 1);
	$move = $m - $bc;
	if ($move > 0 && ($a[$move] == -1 || $a[$move] > $a[$m] + 1)) {
		$a[$move] = $a[$m] + 1;
		$queue[] = $move;
	}
	$move = $m + $bc;
	if ($move <= $n && ($a[$move] == -1 || $a[$move] > $a[$m] + 1)) {
		$a[$move] = $a[$m] + 1;
		$queue[] = $move;
	}
}
print $a[$n];
0