만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

Hearthstone

시간 제한2초메모리 제한1024 MB

요약
이벤트를 순서대로 덧붙일 때 반드시 있어야 하는 비밀 카드 수와 반드시 없어야 하는 수를 구하고, 유효하지 않으면 bug를 출력합니다.
난이도

어려움10점 중 8점

유형
그리디, 해시맵, 구현
정답자
아직 제출이 없습니다

문제

Hearthstone은 인기 있는 비디오 게임 중 하나이다. 다음 규칙을 주의 깊게 읽으시오. 일반적인 규칙과 다릅니다.

비밀 카드는 번호 11, 22, …\ldots, nn으로 구분되는 nn종류가 있다. 비밀과 관련된 이벤트는 두 종류이다.

  • add: 번호를 알 수 없는 비밀 하나를 영웅 영역에 추가한다. 같은 번호의 비밀 두 개가 영웅 영역에 동시에 있을 수 없다.
  • test xx yy: 비밀 xx가 존재하는지 검사한다. 비밀 xx가 존재하면 y=1y=1이고 비밀 xx를 영웅 영역에서 제거한다. 그렇지 않으면 y=0y=0이다. yy의 값과 관계없이 test 이후에는 비밀 xx가 영웅 영역에 없다.

이벤트 수열 E=[e1,…,em]E = [e_1, \ldots, e_m]이 유효한 것은, 각 add 이벤트에 11부터 nn까지의 번호를 대응시켜서 이벤트 e1,e2,…,eme_1, e_2, \ldots, e_m을 순서대로 수행할 수 있고, 그 과정에서 다음 조건이 모두 성립할 때이다.

  • 처음에는 영웅 영역에 비밀이 없다.
  • 비밀 xx를 추가하는 add 이벤트 직전에는 비밀 xx가 존재하지 않는다.
  • test xx 11 직전에는 비밀 xx가 존재한다.
  • test xx 00 직전에는 비밀 xx가 존재하지 않는다.

이벤트 e1,e2,…,eqe_1, e_2, \ldots, e_q가 주어진다. 처음에 EE는 비어 있다. i=1,2,…,qi = 1, 2, \ldots, q 순서대로 eie_i를 EE의 끝에 추가하려고 한다. EE가 유효하지 않으면 eie_i를 제거하고 bug를 보고한다. 유효하면 EE의 이벤트를 순서대로 수행한 뒤 영웅 영역에 반드시 있어야 하는 비밀의 수와 반드시 없어야 하는 비밀의 수를 구한다.

반드시 있거나 반드시 없는 비밀의 수는 단순히 있거나 없는 비밀의 수와 다르다. 예를 들어 n=2n = 2이고 처음에 비밀 1과 2가 모두 없다면 답은 00과 22이다. add를 한 번 한 뒤에는 비밀 1과 2가 모두 불명이므로(있을 수도 없을 수도 있으므로) 답은 00과 00이다. test 22 00을 한 뒤에는 비밀 2가 없으므로 추가된 비밀은 1임을 알 수 있다. 따라서 비밀 1이 있고, 답은 11과 11이다.

입력

테스트 케이스가 여러 개 입력된다. 첫 줄에 테스트 케이스의 수 TT (1≤T≤1051\le T\le 10^5)가 주어진다. 각 테스트 케이스는 다음과 같다.

첫 줄에 비밀 카드의 종류 수 nn과 이벤트 수 qq (1≤n,q≤1051 \le n, q \le 10^5)가 주어진다.

이어지는 qq개의 줄 중 ii번째 줄은 eie_i를 나타내며, 문자열 add이거나, 문자열 test와 정수 xx, yy (1≤x≤n1 \le x \le n, 0≤y≤10 \le y \le 1)이다.

모든 테스트 케이스에 걸친 nn의 합과 qq의 합은 각각 10510^5를 넘지 않는다.

출력

각 테스트 케이스에 대해, 각 이벤트마다 추가할 수 있으면 영웅 영역에 반드시 있는 비밀의 수와 반드시 없는 비밀의 수를 두 정수로 출력한다. 추가할 수 없으면 bug를 출력한다.

예제2

  1. 예제 1

    입력
    2
    1 8
    test 1 0
    test 1 1
    add
    test 1 0
    test 1 1
    add
    test 1 1
    test 1 0
    2 10
    add
    add
    add
    test 1 1
    test 1 1
    add
    add
    add
    test 2 1
    test 2 1
    
    예상 출력
    0 1
    bug
    1 0
    bug
    0 1
    1 0
    0 1
    0 1
    0 0
    2 0
    bug
    1 1
    bug
    2 0
    bug
    bug
    1 1
    bug
    
  2. 예제 2

    입력
    1
    4 7
    add
    add
    test 3 0
    test 4 0
    add
    test 1 1
    test 3 1
    
    예상 출력
    0 0
    0 0
    0 1
    2 2
    2 0
    1 1
    1 3