結果

問題 No.22 括弧の対応
ユーザー swdamdrswdamdr
提出日時 2017-01-25 10:53:08
言語 C#(csc)
(csc 3.9.0)
結果
WA  
実行時間 -
コード長 1,002 bytes
コンパイル時間 2,173 ms
コンパイル使用メモリ 108,780 KB
実行使用メモリ 23,972 KB
最終ジャッジ日時 2023-08-24 21:58:49
合計ジャッジ時間 4,270 ms
ジャッジサーバーID
(参考情報)
judge12 / judge11
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 60 ms
21,864 KB
testcase_01 AC 60 ms
21,792 KB
testcase_02 WA -
testcase_03 WA -
testcase_04 WA -
testcase_05 WA -
testcase_06 WA -
testcase_07 WA -
testcase_08 WA -
testcase_09 WA -
testcase_10 WA -
testcase_11 WA -
testcase_12 WA -
testcase_13 WA -
testcase_14 WA -
testcase_15 WA -
testcase_16 WA -
testcase_17 AC 61 ms
21,912 KB
testcase_18 WA -
権限があれば一括ダウンロードができます
コンパイルメッセージ
Microsoft (R) Visual C# Compiler version 3.9.0-6.21124.20 (db94f4cc)
Copyright (C) Microsoft Corporation. All rights reserved.

ソースコード

diff #

using System;
using System.Linq;
using System.Collections.Generic;

class Program
{
    static void Main(string[] args)
    {
        int[] n = Console.ReadLine().Split(' ').Select(a => int.Parse(a)).ToArray();
        string s = Console.ReadLine();
        int ans = 0;
        List<int> before = new List<int>();
        List<int> after = new List<int>();

        for (int i = 0; i < s.Length; i++)
        {
            if (s[i].ToString() == "(")
            {
                before.Add(i + 1);
            }
            else
            {
                after.Add(i + 1);
            }
        }

        int m = 0;

        if (s[n[1] - 1].ToString() == ")")
        {
            m = after.IndexOf(n[1]);
            m = (before.Count - m) - 1;
            ans = before[m];
        }
        else
        {
            m = before.IndexOf(n[1]);
            m = (after.Count - m) - 1;
            ans = after[m];
        }

        Console.WriteLine(ans);
        Console.ReadLine();
    }
}

0