結果
問題 | No.232 めぐるはめぐる (2) |
ユーザー |
|
提出日時 | 2015-06-26 23:27:06 |
言語 | PHP (843.2) |
結果 |
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 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 19 WA * 3 |
コンパイルメッセージ
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,""); // 上方向判定 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; }