T723545 第40次CSP认证第一题:集合(set)

题目描述

小 C 现在有 $m$ 个询问,第 $i$ 个询问给出两个非空不可重的正整数集合 $S_i$ 和 $T_i$,集合中元素均在 $[1,n]$ 内。小 C 需要回答每个询问给出的两个集合是否相等。 小 C 采取了如下做法: 首先生成一个长度为 $n$ 的非负整数序列 $a_1,a_2,⋯,a_n$。然后定义函数, $$$ f(S)=\bigoplus_{i\in S}a_{i} $$$ 其中 $\oplus$ 为按位异或运算,即 C++/Java/Python 中的 $\wedge$ 运算符。如果第 $i$ 个询问给出的集合满足 $f(S_{i})=f(T_{i})$,那么小C便认为这两个集合相等。 现在小C给出了他生成的序列 $a$。你需要判断,对于这 $m$ 个询问,小C的做法能否得到正确答案,如果正确则输出 **`correct`**,否则输出 **`wrong`**。

输入格式

从标准输入读入数据。 第一行两个正整数 $n,m$,表示集合内元素的值域和询问个数。 第二行给出 $n$ 个非负整数,表示小C生成好的序列 $a_{1},a_{2},\cdots,a_{n}$。 接下来 $m$ 行,每行描述一个集合 $S_{i}$。每一行首先会给出一个正整数 $|S_{i}|$,表示集合 $S_{i}$ 的大小。接下来在这行内会给出 $|S_{i}|$ 个正整数,为该集合内的元素,保证按照严格递增的顺序给出。 接下来 $m$ 行,每行描述一个集合 $T_{i}$。每一行首先会给出一个正整数 $|T_{i}|$,表示集合 $T_{i}$ 的大小。接下来在这行内会给出 $|T_{i}|$ 个正整数,为该集合内的元素,保证按照严格递增的顺序给出。 请注意,本题先输入所有询问中的集合 $S$,再输入所有询问中的集合 $T$。

输出格式

输出到标准输出。 输出 $m$ 行,第 $i$ 行输出一个字符串,内容为 **`correct`** 或者 **`wrong`**,表示小C的做法在第 $i$ 个询问中能否得到正确的答案。

说明/提示

### 样例1解释 第一个询问:$|S_{1}|=1$,$|T_{1}|=2$,两个集合大小不同,则集合必然不相等;但 $f(S_{1})=a_{3}=3$,$f(T_{1})=a_{1}\oplus a_{2}=3$,故小C的做法得不到正确答案。 第二个询问:比较两个集合是否相等,仅需将两个集合内的元素升序排列并依次比较对应位置的元素是否相等。两个集合最小的数字不相等,故两个集合不相等;但 $f(S_{2})=a_{3}\oplus a_{4}=3$,$f(T_{2})=a_{1}\oplus a_{2}=3$,故小C的做法仍然得不到正确答案。 第三个询问:将两个集合内元素升序排列,排在第一位和第二位的元素均对应相等,故这两个集合相等;且 $f(S_{3})=a_{3}\oplus a_{5}=7$,$f(T_{3})=a_{3}\oplus a_{5}=7$,故小C的做法得到了正确的答案。 ### 样例2 见题目目录下的 *2.in* 与 *2.ans*。 ### 子任务 50\%的测试数据满足:$|S_{i}|\neq|T_{i}|$。 100\%的测试数据满足:$1\leq n\leq10^{4}$,$1\leq m\leq100$,$0\leq a_{i}