ABC解説

ユニークビジョンプログラミングコンテスト2022 冬(AtCoder Beginner Contest 283)

A. Power

import sys


def solve():
    input = sys.stdin.readline
    mod = 10 ** 9 + 7
    a, b = list(map(int, input().rstrip('\n').split()))
    print(pow(a, b))


if __name__ == '__main__':
    solve()

B. First Query Problem

import sys


def solve():
    input = sys.stdin.readline
    mod = 10 ** 9 + 7
    n = int(input().rstrip('\n'))
    a = list(map(int, input().rstrip('\n').split()))
    q = int(input().rstrip('\n'))
    for i in range(q):
        k = list(map(int, input().rstrip('\n').split()))
        if k[0] == 1:
            a[k[1]-1] = k[2]
        else:
            print(a[k[1]-1])


if __name__ == '__main__':
    solve()

C. Cash Register

import sys


def solve():
    input = sys.stdin.readline
    mod = 10 ** 9 + 7
    s = str(input().rstrip('\n'))
    print(len(s) - s.count("00"))


if __name__ == '__main__':
    solve()

D. Scope

import collections
import sys


def solve():
    input = sys.stdin.readline
    mod = 10 ** 9 + 7
    s = str(input().rstrip('\n'))
    ls = [[]]
    dep = 0
    d = collections.defaultdict(int)
    for i in range(len(s)):
        if s[i] == "(":
            ls.append([])
            dep += 1
        elif s[i] == ")":
            dep -= 1
            for v in ls.pop():
                d[v] -= 1
        else:
            ls[dep] += [s[i]]
            d[s[i]] += 1
            if d[s[i]] > 1:
                print("No")
                exit()
    print("Yes")


if __name__ == '__main__':
    solve()

-ABC解説