結果
問題 | No.345 最小チワワ問題 |
ユーザー | sorch |
提出日時 | 2020-12-31 11:00:29 |
言語 | PHP (843.2) |
結果 |
AC
|
実行時間 | 43 ms / 2,000 ms |
コード長 | 1,197 bytes |
コンパイル時間 | 116 ms |
コンパイル使用メモリ | 32,276 KB |
実行使用メモリ | 31,576 KB |
最終ジャッジ日時 | 2024-10-09 10:11:42 |
合計ジャッジ時間 | 2,520 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 29 |
コンパイルメッセージ
No syntax errors detected in Main.php
ソースコード
<?php /** * @see https://yukicoder.me/problems/no/345 */ $S = str_split(trim(fgets(STDIN))); $chiwawaColumns = []; for ($i = 0; $i < count($S); $i++) { $char = $S[$i]; switch ($char) { case 'c': $chiwawaColumns[]['c'] = $i; break; case 'w': array_walk($chiwawaColumns, function (&$item, $j, $i) { if (array_key_exists('w2', $item)) { return; // チワワ列が完成している場合は何もしない(最小チワワとするため) } if (array_key_exists('w1', $item)) { $item['w2'] = $i; } else { $item['w1'] = $i; } }, $i); break; } } if (empty($chiwawaColumns)) { $ret = -1; } else { $chiwawaColumnLengthList = array_map(function ($column) { if (array_key_exists('w2', $column)) { return $column['w2'] - $column['c'] + 1; } else { return PHP_INT_MAX; } }, $chiwawaColumns); $ret = min($chiwawaColumnLengthList); if ($ret == PHP_INT_MAX) { $ret = -1; } } echo $ret . "\n";