Submission #50476532


Source Code Expand

use std::collections::BTreeSet;

use proconio::input;

fn main() {
    input! {
        n: usize,
    };
    let mut ans = BTreeSet::new();
    for bits in 0..1 << n {
        let cs = (0..n)
            .map(|i| if ((bits >> i) & 1) == 1 { ')' } else { '(' })
            .collect::<Vec<char>>();
        let mut ok = true;
        let mut stack = vec![];
        for c in cs.iter().copied() {
            match c {
                '(' => stack.push(c),
                ')' => match stack.pop() {
                    None => {
                        ok = false;
                        break;
                    }
                    Some(p) => {
                        if p != '(' {
                            ok = false;
                            break;
                        }
                    }
                },
                _ => unreachable!(),
            }
        }
        ok &= stack.is_empty();
        if ok {
            ans.insert(cs.into_iter().collect::<String>());
        }
    }
    for a in ans {
        println!("{}", a);
    }
}

Submission Info

Submission Time
Task 002 - Encyclopedia of Parentheses(★3)
User bouzuya
Language Rust (rustc 1.70.0)
Score 3
Code Size 1069 Byte
Status AC
Exec Time 69 ms
Memory 3304 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 3 / 3
Status
AC × 4
AC × 20
Set Name Test Cases
Sample 01_sample_01.txt, 01_sample_02.txt, 01_sample_03.txt, 01_sample_04.txt
All 01_sample_01.txt, 01_sample_02.txt, 01_sample_03.txt, 01_sample_04.txt, 02_all_01.txt, 02_all_02.txt, 02_all_03.txt, 02_all_04.txt, 02_all_05.txt, 02_all_06.txt, 02_all_07.txt, 02_all_08.txt, 02_all_09.txt, 02_all_10.txt, 02_all_11.txt, 02_all_12.txt, 02_all_13.txt, 02_all_14.txt, 02_all_15.txt, 02_all_16.txt
Case Name Status Exec Time Memory
01_sample_01.txt AC 1 ms 1912 KiB
01_sample_02.txt AC 1 ms 1812 KiB
01_sample_03.txt AC 1 ms 1912 KiB
01_sample_04.txt AC 1 ms 1944 KiB
02_all_01.txt AC 1 ms 1936 KiB
02_all_02.txt AC 1 ms 2008 KiB
02_all_03.txt AC 1 ms 2060 KiB
02_all_04.txt AC 1 ms 1928 KiB
02_all_05.txt AC 1 ms 1936 KiB
02_all_06.txt AC 1 ms 1928 KiB
02_all_07.txt AC 1 ms 1944 KiB
02_all_08.txt AC 1 ms 2100 KiB
02_all_09.txt AC 1 ms 1916 KiB
02_all_10.txt AC 2 ms 2052 KiB
02_all_11.txt AC 2 ms 2124 KiB
02_all_12.txt AC 5 ms 2056 KiB
02_all_13.txt AC 7 ms 2124 KiB
02_all_14.txt AC 19 ms 2540 KiB
02_all_15.txt AC 25 ms 2044 KiB
02_all_16.txt AC 69 ms 3304 KiB