結果

問題 No.232 めぐるはめぐる (2)
ユーザー 綾地寧々綾地寧々
提出日時 2015-06-26 23:27:06
言語 PHP
(8.3.4)
結果
WA  
(最新)
AC  
(最初)
実行時間 -
コード長 1,456 bytes
コンパイル時間 1,860 ms
コンパイル使用メモリ 31,508 KB
実行使用メモリ 34,828 KB
最終ジャッジ日時 2024-07-07 18:31:04
合計ジャッジ時間 5,774 ms
ジャッジサーバーID
(参考情報)
judge2 / judge1
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 295 ms
31,760 KB
testcase_01 AC 313 ms
34,828 KB
testcase_02 AC 291 ms
32,012 KB
testcase_03 AC 290 ms
31,884 KB
testcase_04 AC 41 ms
30,560 KB
testcase_05 AC 42 ms
30,620 KB
testcase_06 AC 42 ms
30,676 KB
testcase_07 AC 43 ms
30,632 KB
testcase_08 AC 231 ms
32,908 KB
testcase_09 AC 42 ms
30,740 KB
testcase_10 AC 42 ms
30,612 KB
testcase_11 WA -
testcase_12 WA -
testcase_13 AC 42 ms
30,464 KB
testcase_14 AC 43 ms
30,648 KB
testcase_15 AC 42 ms
30,564 KB
testcase_16 AC 43 ms
30,500 KB
testcase_17 AC 42 ms
30,532 KB
testcase_18 AC 45 ms
30,628 KB
testcase_19 WA -
testcase_20 AC 43 ms
30,740 KB
testcase_21 AC 42 ms
30,532 KB
testcase_22 AC 42 ms
30,360 KB
testcase_23 AC 43 ms
30,740 KB
testcase_24 AC 42 ms
30,564 KB
権限があれば一括ダウンロードができます
コンパイルメッセージ
No syntax errors detected in Main.php

ソースコード

diff #

<?php
define("INPUT_UP", "^");
define("INPUT_DOWN", "v");
define("INPUT_LEFT", "<");
define("INPUT_RIGHT", ">");
list($t, $a, $b) = explode(" ",trim(fgets(STDIN)));
if ( max($a, $b) > $t ) {
	echo 'NO'.PHP_EOL;
	return;
}
$move_string = array_fill(0,$t,"");
// 上方向判定
for ( $i=0; $i<$a; $i++ ) {
	$move_string[$i] = INPUT_UP.$move_string[$i];
}
// 右方向判定
for ( $i=0; $i<$b; $i++ ) {
	$move_string[$t-$i-1] = INPUT_RIGHT.$move_string[$t-$i-1];
}
// 未入力タイミング回数のカウント
$no_input_count = 0;
foreach ( $move_string as $str ) {
	if ( strlen($str) == 0 ) {
		$no_input_count++;
	}
}
$odd_input_mode = 0;
// 未入力タイミングが1回しかなければあきらめてもらう
if ( $no_input_count == 1 ) {
	echo 'NO'.PHP_EOL;
	return;
}
// 未入力タイミングが奇数回なら同時押しで戻る戦法を使えば大丈夫
else if ( $no_input_count % 2 ) {
	$odd_input_mode = 3;
}
// 答え出力
echo 'YES'.PHP_EOL;
foreach ( $move_string as $str ) {
	if ( strlen($str) > 0 ) {
		echo $str;
	}
	else {
		if ( $odd_input_mode ) {
			switch ( $odd_input_mode ) {
				case 3:
					echo INPUT_RIGHT;
					break;
				case 2:
					echo INPUT_UP;
					break;
				case 1:
					echo INPUT_DOWN.INPUT_LEFT;
					break;
				default:
					break;
			}
			$odd_input_mode--;
		}
		else if ( !($no_input_count % 2) ) {
			echo INPUT_RIGHT;
		}
		else {
			echo INPUT_LEFT;
		}
		$no_input_count--;
	}
	echo PHP_EOL;
}
0