結果

問題 No.22 括弧の対応
ユーザー michiru
提出日時 2019-12-03 19:52:03
言語 PHP7
(7.3.9)
結果
AC  
実行時間 12 ms
コード長 687 Byte
コンパイル時間 787 ms
使用メモリ 5,664 KB
最終ジャッジ日時 2019-12-03 19:52:12

テストケース

テストケース表示
入力 結果 実行時間
使用メモリ
01.txt AC 10 ms
5,016 KB
02.txt AC 10 ms
5,016 KB
03.txt AC 10 ms
5,020 KB
04.txt AC 10 ms
5,664 KB
05.txt AC 9 ms
5,316 KB
06.txt AC 10 ms
5,292 KB
07.txt AC 10 ms
5,432 KB
08.txt AC 9 ms
5,520 KB
09.txt AC 9 ms
5,380 KB
10.txt AC 10 ms
5,348 KB
99_system_test1.txt AC 12 ms
5,504 KB
system_test1.txt AC 8 ms
5,384 KB
system_test2.txt AC 10 ms
5,516 KB
system_test3.txt AC 10 ms
5,096 KB
system_test4.txt AC 11 ms
5,604 KB
system_test5.txt AC 10 ms
5,612 KB
system_test6.txt AC 10 ms
5,016 KB
system_test7.txt AC 9 ms
5,016 KB
テストケース一括ダウンロード
コンパイルメッセージ
No syntax errors detected in Main.php

ソースコード

diff #
<?php
list($n, $k) = explode(" ", (trim(fgets(STDIN))));
$s = str_split(trim(fgets(STDIN)));
$count = 1;
 // "("始まりで"次が("ならカウンタを+1,")"なら-1,0になったら対応箇所
if ($s[$k-1] == "(") {
    while ($count > 0) {
        $p = $s[$k++];
        if ($p == "(") {
            $count++;
        } elseif ($p == ")") {
            $count--;
        }
    }
 // ")"始まりなら上記のカウンタ増加を逆に
} elseif ($s[$k-1] == ")") {
    $k = $k - 1;
    while ($count > 0) {
        $p = $s[--$k];
        if ($p == "(") {
            $count--;
        } elseif ($p == ")") {
            $count++;
        }
    }
    $k = $k + 1;
}

echo $k."\n";
0