結果
問題 | No.232 めぐるはめぐる (2) |
ユーザー | 綾地寧々 |
提出日時 | 2015-06-30 16:28:47 |
言語 | PHP (8.3.4) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,964 bytes |
コンパイル時間 | 2,430 ms |
コンパイル使用メモリ | 31,508 KB |
実行使用メモリ | 37,388 KB |
最終ジャッジ日時 | 2024-07-07 21:28:21 |
合計ジャッジ時間 | 3,916 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge1 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 56 ms
35,084 KB |
testcase_01 | AC | 48 ms
37,388 KB |
testcase_02 | AC | 52 ms
35,088 KB |
testcase_03 | AC | 44 ms
34,188 KB |
testcase_04 | AC | 35 ms
31,220 KB |
testcase_05 | WA | - |
testcase_06 | AC | 36 ms
31,520 KB |
testcase_07 | AC | 35 ms
31,220 KB |
testcase_08 | AC | 44 ms
34,956 KB |
testcase_09 | AC | 34 ms
31,332 KB |
testcase_10 | AC | 34 ms
31,040 KB |
testcase_11 | AC | 38 ms
31,428 KB |
testcase_12 | AC | 35 ms
31,216 KB |
testcase_13 | AC | 36 ms
31,320 KB |
testcase_14 | AC | 36 ms
31,284 KB |
testcase_15 | AC | 35 ms
31,496 KB |
testcase_16 | AC | 35 ms
31,456 KB |
testcase_17 | AC | 36 ms
31,304 KB |
testcase_18 | AC | 35 ms
31,324 KB |
testcase_19 | AC | 37 ms
31,192 KB |
testcase_20 | AC | 36 ms
31,328 KB |
testcase_21 | AC | 36 ms
31,216 KB |
testcase_22 | AC | 34 ms
31,544 KB |
testcase_23 | AC | 34 ms
31,116 KB |
testcase_24 | AC | 34 ms
30,948 KB |
コンパイルメッセージ
No syntax errors detected in Main.php
ソースコード
<?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,""); $move_count = 0; $wait_count = 0; for ( $i=0; $i<$t; $i++ ) { $move_count++; // ちょうどまで周辺待機 if ( ($a + $b) == 0 ) { if ( ($t - $move_count) > 0 ) { switch ( $wait_count % 3 ) { case 0: $move_string[$i] .= INPUT_RIGHT; break; case 1: $move_string[$i] .= INPUT_DOWN; break; case 2: $move_string[$i] .= INPUT_LEFT.INPUT_UP; default: break; } $wait_count++; } else { // 周辺待機をしていて、ちょうど目的地にいないとき if ( $wait_count != 0 ) { switch ( $wait_count % 3 ) { case 0: $move_string[$i] = substr($move_string[$i-1], 1, 1); $move_string[$i-1] = substr($move_string[$i-1], 0, 1); break; case 1: $move_string[$i] .= INPUT_LEFT; break; case 2: $move_string[$i] .= INPUT_LEFT.INPUT_UP; break; default: break; } } // 周辺待機をしていなくて、ちょうど目的地にいるとき else if ( $wait_count == 0 ) { switch ( $move_string[$i-1] ) { case INPUT_UP.INPUT_RIGHT: $move_string[$i-1] = INPUT_UP; $move_string[$i] = INPUT_RIGHT; break; case INPUT_UP: $move_string[$i-1] .= INPUT_RIGHT; $move_string[$i] = INPUT_LEFT; break; case INPUT_RIGHT: $move_string[$i-1] .= INPUT_UP; $move_string[$i] = INPUT_DOWN; break; default: break; } } } } // とにかく目標地点まで移動する else { if ( $a ) { $move_string[$i] .= INPUT_UP; $a--; } if ( $b ) { $move_string[$i] .= INPUT_RIGHT; $b--; } } } // 答え出力 echo 'YES'.PHP_EOL; echo implode(PHP_EOL, $move_string).PHP_EOL;