Submission #70827053


Source Code Expand

#include <bits/stdc++.h>
using namespace std;
const int MAXN = 1e6;
int T;
char a[MAXN + 5];
int p[MAXN + 5];
int main() {
    cin >> T;
    while (T --) {
        scanf("%s", a + 1);
        int n = strlen(a + 1);
        int k; scanf("%d", &k);
        stack<int> stk;
        bool flag = 1;
        for (int i = 1; i <= n; i ++) {
            if (a[i] == '(') stk.push(i);
            else {
                if (!stk.empty()) {
                    int t = stk.top(); stk.pop();
                    p[t] = i; p[i] = t;
                } else {
                    flag = 0;
                    printf("First\n");
                    break;
                }
            }
        }
        if (flag == 0) continue;
        if (!stk.empty()) {
            flag = 0;
            printf("First\n");
            continue;
        }
        if (k % 2 == 1) {
            printf("First\n");
            continue;
        }
        int l = 1, r=  n;
        while (1) {
            if (p[l] == r) {
                l ++, r --;
                if (r - l + 1 == k) {
                    printf("Second\n");
                    flag = 0;
                    break;
                }
                continue;
            }
            if (p[l] != l + 1) {
                printf("First\n");
                break;
            }
            if (p[r] != r - 1) {
                printf("First\n");
                break;
            }
            int LL = l;
            for (int i = l; i <= r; i += 2) 
                if (p[i] == i + 1) LL = i;
                else break;
            int RR = r;
            for (int i = r; i >= l; i -= 2)
                if (p[i] == i - 1) RR = i;
                else break;
            int len = r - l + 1;
            int len1 = len - (LL + 1 - l + 1);
            int len2 = len - (r - (RR - 1) + 1);
            if (len1 > k || len2 > k) {
                printf("First\n");
                break;
            } else {
                printf("Second\n");
                break;
            }
        }
    }
    return 0;
}

Submission Info

Submission Time
Task A - Bracket Game
User laozhuma
Language C++23 (GCC 15.2.0)
Score 700
Code Size 2133 Byte
Status AC
Exec Time 11 ms
Memory 10684 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 700 / 700
Status
AC × 1
AC × 46
Set Name Test Cases
Sample 00_sample_00.txt
All 00_sample_00.txt, 01_test_00.txt, 01_test_01.txt, 01_test_02.txt, 01_test_03.txt, 01_test_04.txt, 01_test_05.txt, 01_test_06.txt, 01_test_07.txt, 01_test_08.txt, 01_test_09.txt, 01_test_10.txt, 01_test_11.txt, 01_test_12.txt, 01_test_13.txt, 01_test_14.txt, 01_test_15.txt, 01_test_16.txt, 01_test_17.txt, 01_test_18.txt, 01_test_19.txt, 01_test_20.txt, 01_test_21.txt, 01_test_22.txt, 01_test_23.txt, 01_test_24.txt, 01_test_25.txt, 01_test_26.txt, 01_test_27.txt, 01_test_28.txt, 01_test_29.txt, 01_test_30.txt, 01_test_31.txt, 01_test_32.txt, 01_test_33.txt, 01_test_34.txt, 01_test_35.txt, 01_test_36.txt, 01_test_37.txt, 01_test_38.txt, 01_test_39.txt, 01_test_40.txt, 01_test_41.txt, 01_test_42.txt, 01_test_43.txt, 01_test_44.txt
Case Name Status Exec Time Memory
00_sample_00.txt AC 1 ms 3768 KiB
01_test_00.txt AC 6 ms 3804 KiB
01_test_01.txt AC 11 ms 3644 KiB
01_test_02.txt AC 11 ms 3648 KiB
01_test_03.txt AC 10 ms 3772 KiB
01_test_04.txt AC 10 ms 3768 KiB
01_test_05.txt AC 10 ms 3844 KiB
01_test_06.txt AC 10 ms 3876 KiB
01_test_07.txt AC 10 ms 3720 KiB
01_test_08.txt AC 10 ms 3848 KiB
01_test_09.txt AC 4 ms 3720 KiB
01_test_10.txt AC 2 ms 3976 KiB
01_test_11.txt AC 3 ms 4160 KiB
01_test_12.txt AC 6 ms 10684 KiB
01_test_13.txt AC 6 ms 9656 KiB
01_test_14.txt AC 5 ms 9692 KiB
01_test_15.txt AC 6 ms 9644 KiB
01_test_16.txt AC 6 ms 9652 KiB
01_test_17.txt AC 6 ms 9536 KiB
01_test_18.txt AC 7 ms 9616 KiB
01_test_19.txt AC 6 ms 9712 KiB
01_test_20.txt AC 6 ms 9660 KiB
01_test_21.txt AC 6 ms 9656 KiB
01_test_22.txt AC 6 ms 9692 KiB
01_test_23.txt AC 5 ms 9660 KiB
01_test_24.txt AC 6 ms 9552 KiB
01_test_25.txt AC 6 ms 9608 KiB
01_test_26.txt AC 6 ms 9608 KiB
01_test_27.txt AC 7 ms 9652 KiB
01_test_28.txt AC 7 ms 9776 KiB
01_test_29.txt AC 7 ms 9712 KiB
01_test_30.txt AC 7 ms 9712 KiB
01_test_31.txt AC 7 ms 9664 KiB
01_test_32.txt AC 7 ms 9692 KiB
01_test_33.txt AC 7 ms 9552 KiB
01_test_34.txt AC 7 ms 9660 KiB
01_test_35.txt AC 7 ms 9616 KiB
01_test_36.txt AC 7 ms 9736 KiB
01_test_37.txt AC 7 ms 9592 KiB
01_test_38.txt AC 7 ms 9616 KiB
01_test_39.txt AC 6 ms 9536 KiB
01_test_40.txt AC 6 ms 9592 KiB
01_test_41.txt AC 6 ms 9732 KiB
01_test_42.txt AC 6 ms 9536 KiB
01_test_43.txt AC 6 ms 9736 KiB
01_test_44.txt AC 6 ms 9592 KiB