結果
問題 | No.232 めぐるはめぐる (2) |
ユーザー | 綾地寧々 |
提出日時 | 2015-06-30 08:42:27 |
言語 | PHP (8.3.4) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,940 bytes |
コンパイル時間 | 4,815 ms |
コンパイル使用メモリ | 32,020 KB |
実行使用メモリ | 38,716 KB |
最終ジャッジ日時 | 2024-07-07 21:22:32 |
合計ジャッジ時間 | 4,934 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | WA | - |
testcase_01 | AC | 47 ms
38,716 KB |
testcase_02 | AC | 49 ms
36,664 KB |
testcase_03 | AC | 41 ms
36,664 KB |
testcase_04 | AC | 33 ms
32,400 KB |
testcase_05 | WA | - |
testcase_06 | AC | 34 ms
32,528 KB |
testcase_07 | AC | 33 ms
32,400 KB |
testcase_08 | WA | - |
testcase_09 | AC | 36 ms
32,400 KB |
testcase_10 | WA | - |
testcase_11 | AC | 35 ms
32,272 KB |
testcase_12 | AC | 33 ms
32,216 KB |
testcase_13 | AC | 33 ms
32,276 KB |
testcase_14 | AC | 33 ms
32,212 KB |
testcase_15 | AC | 32 ms
32,528 KB |
testcase_16 | AC | 32 ms
32,396 KB |
testcase_17 | AC | 33 ms
32,404 KB |
testcase_18 | AC | 32 ms
32,400 KB |
testcase_19 | AC | 32 ms
32,212 KB |
testcase_20 | AC | 31 ms
32,404 KB |
testcase_21 | AC | 32 ms
32,656 KB |
testcase_22 | AC | 31 ms
32,528 KB |
testcase_23 | AC | 33 ms
32,528 KB |
testcase_24 | AC | 34 ms
32,276 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) && (($wait_count % 3) != 0)) { switch ( $wait_count % 3 ) { 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;