結果
問題 | No.345 最小チワワ問題 |
ユーザー |
![]() |
提出日時 | 2016-05-12 14:14:10 |
言語 | PHP (843.2) |
結果 |
WA
(最新)
AC
(最初)
|
実行時間 | - |
コード長 | 1,919 bytes |
コンパイル時間 | 902 ms |
コンパイル使用メモリ | 30,708 KB |
実行使用メモリ | 31,572 KB |
最終ジャッジ日時 | 2024-10-07 16:20:49 |
合計ジャッジ時間 | 2,913 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 23 WA * 6 |
コンパイルメッセージ
No syntax errors detected in Main.php
ソースコード
<?php /* * Input/Output用のクラス */ namespace Coder; class IO { private $raw = []; private $count = 0; private $pointer = 0; /* * デリミタで区切った文字列を取得する * @param string * @return string */ public function next($del = ' ') { if ($this->pointer >= $this->count) { $this->raw = explode("{$del}", trim(fgets(STDIN))); $this->count = count($this->raw); $this->pointer = 0; } $result = $this->raw[$this->pointer]; $this->pointer++; return $result; } /* * 次にまだ文字列があるかを調べる * @return bool */ public function hasNext() { return $this->pointer < $this->count; } /* * int型で文字列を取り出す * @return int */ public function nextInt($del = ' ') { return (int)$this->next($del); } /* * double型で文字列を取り出す * @return double */ public function nextDouble($del = ' ') { return (double)$this->next($del); } /* * 改行を末尾に追加して出力する * @param string */ public static function out ($str = '') { echo $str . PHP_EOL; } } $io = new IO(); $str = $io->next(); $count_c = 0; $count_w = 0; $index = []; $min = strlen($str); for($i = 0; $i < strlen($str); $i++) { if ($str[$i] == 'c') { if ($count_c == 0) { $count_w = 0; } $count_c = 1; $index[] = $i; } if ($str[$i] == 'w') { $count_w++; if ($count_c == 1 && $count_w == 2) { foreach ($index as $v) { $tmp = $i - $v + 1; if ($min > $tmp && $tmp > 2) { $min = $tmp; } } $io->out($min); exit; } } } $io->out('-1');