8569: Puzzle: Hearthstone

内存限制:128 MB 时间限制:1 S
题面:传统 评测方式:文本比较 上传者:
提交:1 通过:1

题目描述

炉石传说是一款很受欢迎的电子纸牌游戏。请仔细阅读以下规则。它们不同于一般的规则。
有n种秘密卡片,编号为11、22、\cdots⋯⋯n。关于秘密的事件有两种类型:
在英雄区添加一个未知数字的秘密。没有两个数字相同的秘密可以同时出现在英雄区域。
test x y:测试秘钥xx是否存在。如果秘密xx存在,那么y=1y=1,并且秘密xx将从英雄区域中移除;否则,y = 0 y = 0。注意,无论yy是什么,在测试xx后,英雄区中不存在秘密xx。一个事件序列E=[e_1,\cdots,e_m1⋯e米]是有效的,当且仅当它能够为每个添加事件分配一个从11到nn的数字,并执行事件e_1e1



, e_2e

2



, \ cdots⋯,e_me





为了使…

在一开始的英雄区域中没有秘密;

在添加秘密xx的事件之前,秘密xx不存在;

秘密xx存在于事件测试x1之前;

秘密xx在事件测试x0之前不存在。



给定qq事件e_1e

1



, e_2e

2



, \ cdots⋯,e_qe





,需要维护事件序列EE。最初,EE是空的。对于每个i=1i= 1,22, \cdots⋯,qq,按顺序,尝试添加e_ie





到EE结尾。如果EE无效,移除e_ie





并报告错误。否则,依次查找执行完EE的事件后,英雄区域中必须存在的秘密的数量和英雄区域中必须不存在的秘密的数量。

输入格式

825/5000 
有多个测试用例。第一行输入包含一个整数TT(1\le T\le 10^51≤T≤10)

5

),测试用例的数量。对于每个测试用例:



第一行包含两个整数nn和qq (1\le n1≤n, q\le10^5q≤10)

5

——秘密的种类和事件的数量。



下面qq行中的第ii行表示e_ie





它包含:

-字符串“add”;

-或一个字符串“test”,两个整数xx和yy (1\le x\le n1≤x≤n, 0\le y\le10≤y≤1)。

保证nn和qq对所有测试用例的和不超过10^510

5

输出格式


对于每个测试用例:



对于每个事件,如果它可以被追加,输出两个整数——英雄区域中必须存在的秘密的数量和英雄区域中不存在的秘密的数量;否则,输出字符串"bug"。

输入样例 复制

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

分类标签