AT_past201912_e SNS のログ

Description

[problemUrl]: https://atcoder.jp/contests/past201912-open/tasks/past201912_e あなたは、$ N $ 人のユーザが参加する SNS を運営している。彼らはユーザ $ 1,\ \ldots,\ N $ と呼ばれ、別のユーザを何人でもフォローすることができる。 しかし、あるトラブルにより、どのユーザがどのユーザをフォローしているかの情報がすべて失われてしまった。幸い、ユーザがこの SNS で行ったすべての操作のログが残っており、あなたは操作ログをもとにフォロー状況を復元しようとしている。 操作ログは $ Q $ 行からなり、その $ i $ 行目 $ (1\ \leqq\ i\ \leqq\ Q) $ は文字列 $ S_i $ である。各ユーザは以下の $ 3 $ 種類の操作を行うことができ、$ 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 $ を既にフォローしているとき、ユーザ $ a $ がユーザ $ b $ を再びフォローしても何も起こらない。 フォロー状況を復元せよ。

Input Format

入力は以下の形式で標準入力から与えられる。 > $ N $ $ Q $ $ S_1 $ $ S_2 $ $ : $ $ S_Q $

Output Format

各 $ 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} $ $ : $ $ f_{N,1} $$ f_{N,2} $ $ \ldots $ $ f_{N,N} $

Explanation/Hint

### 注意 この問題に対する言及は、2019年12月29日 05:00 JST まで禁止されています。言及がなされた場合、賠償が請求される可能性があります。 試験後に総合得点や認定級を公表するのは構いませんが、どの問題が解けたかなどの情報は発信しないようにお願いします。 ### 制約 - $ 2\ ≦\ N\ ≦\ 100 $ - $ 0\ ≦\ Q\ ≦\ 500 $ - $ S_i $ は以下のいずれかの形式の文字列である。 - `1 a b` ($ 1\ \leqq\ a,\ b\ \leqq\ N $ かつ $ a\ \neq\ b $) - `2 a` $ (1\ \leqq\ a\ \leqq\ N) $ - `3 a` $ (1\ \leqq\ a\ \leqq\ N) $ ### Sample Explanation 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 $ はこの二人をフォローする。 最終的に、フォロー状況は出力例の通りとなる。