AT_past201912_e SNS のログ

题目描述

你正在运营一个有 $N$ 个用户参与的 SNS(社交网络服务)。这些用户被称为用户 $1,\ \ldots,\ N$,他们可以关注任意数量的其他用户。 然而,由于某些故障,所有关于哪个用户关注了哪个用户的信息都丢失了。幸运的是,所有用户在该 SNS 上进行的操作日志都被保留了下来,你需要根据操作日志来恢复关注关系。 操作日志共有 $Q$ 行,第 $i$ 行($1\leq i\leq Q$)为字符串 $S_i$。每个用户可以进行以下三种操作之一,$S_i$ 表示 SNS 上第 $i$ 次操作: - 关注:用户 $a$ 关注用户 $b$($a\neq b$)。日志中记为 `1 a b`。 - 全部回关:用户 $a$ 关注所有当前关注用户 $a$ 的用户。日志中记为 `2 a`。 - 关注的关注:对于当前用户 $a$ 关注的每个用户 $x$,用户 $a$ 会关注所有当前被用户 $x$ 关注的用户(不包括用户 $a$ 自己)。日志中记为 `3 a`。 此外,SNS 刚开通时,所有用户都没有关注任何人。如果用户 $a$ 已经关注了用户 $b$,再次关注不会产生任何效果。 请恢复最终的关注关系。

输入格式

输入通过标准输入给出,格式如下: > $N$ $Q$ > $S_1$ > $S_2$ > $\vdots$ > $S_Q$

输出格式

对于每个 $i,\ j$($1\leq i,\ j\leq N$),如果用户 $i$ 关注用户 $j$,则 $f_{i,j} = $ `Y`,否则 $f_{i,j} = $ `N`。请按如下格式输出: > $f_{1,1}$$f_{1,2}\ldots f_{1,N}$ > $f_{2,1}$$f_{2,2}\ldots f_{2,N}$ > $\vdots$ > $f_{N,1}$$f_{N,2}\ldots f_{N,N}$

说明/提示

### 注意 在 2019 年 12 月 29 日 05:00 JST 之前,禁止对本题进行任何讨论。如果有讨论,可能会被要求赔偿。 考试结束后可以公开总分和认证等级,但请不要透露解了哪些题等信息。 ### 约束条件 - $2 \leq N \leq 100$ - $0 \leq Q \leq 500$ - $S_i$ 为以下三种格式之一的字符串: - `1 a b`($1\leq a, b\leq N$ 且 $a\neq b$) - `2 a`($1\leq a\leq N$) - `3 a`($1\leq a\leq N$) ### 样例解释 1 有 $6$ 个用户,用户 $1,\ldots,6$ 共进行了 $7$ 次操作,日志如下: - $S_1$:用户 $1$ 关注了用户 $2$。 - $S_2$:用户 $2$ 关注了用户 $3$。 - $S_3$:用户 $3$ 关注了用户 $4$。 - $S_4$:用户 $1$ 关注了用户 $5$。 - $S_5$:用户 $5$ 关注了用户 $6$。 - $S_6$:用户 $1$ 执行了关注的关注操作。此时用户 $1$ 关注了用户 $2, 5$,用户 $2$ 关注了用户 $3$,用户 $5$ 关注了用户 $6$,因此用户 $1$ 还会关注用户 $3, 6$。 - $S_7$:用户 $6$ 执行了全部回关操作。此时关注用户 $6$ 的有用户 $1, 5$,因此用户 $6$ 也会关注这两人。 最终的关注关系如输出样例所示。 由 ChatGPT 4.1 翻译