結果

問題 No.3 ビットすごろく
コンテスト
ユーザー ねず
提出日時 2018-01-25 19:15:13
言語 PHP
(8.5.4)
コンパイル:
php -l _filename_
実行:
php _filename_
結果
AC  
実行時間 37 ms / 5,000 ms
コード長 460 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 187 ms
コンパイル使用メモリ 37,032 KB
実行使用メモリ 37,152 KB
最終ジャッジ日時 2026-03-22 05:47:03
合計ジャッジ時間 2,296 ms
ジャッジサーバーID
(参考情報)
judge3_0 / judge1_0
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 33
権限があれば一括ダウンロードができます
コンパイルメッセージ
No syntax errors detected in Main.php

ソースコード

diff #
raw source code

<?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