AT_gigacode_2019_h 論理回路の構成

Description

[problemUrl]: https://atcoder.jp/contests/gigacode-2019/tasks/gigacode_2019_h $ N $ 個のスイッチがあり,それぞれスイッチ $ 1,\ 2,\ 3,\ ...,\ N $ と番号付けられています.各スイッチは,0 か 1 のいずれか二通りの状態を持ちます. さて,あなたは番号 $ N+1,\ N+2,\ ...,\ N+M $ がついた $ M $ 個のメモリを使って,回路を作ることができます.($ M $ の値は自由に決められます.) メモリには,以下の $ 4 $ 種類があります.以下の説明では,該当するメモリの番号を $ x $ としています. **① AND メモリ** 2 つのスイッチ/メモリから繋がっており,これらを番号 $ u,\ v $ $ (u\

Input Format

入力は以下の形式で標準入力から与えられます. (☆) $ T\ =\ 1 $ のとき > 1 $ N $ $ K $ ただし,$ N $ はスイッチの個数,$ K $ は番号 $ N+M $ のスイッチ($ M=0 $ の場合メモリ)の値が 1 であるべき状態の通り数を意味します. (★) $ T\ =\ 2 $ のとき > 2 $ N $ $ K $ $ S_1 $ $ S_2 $ $ S_3 $ $ : $ $ S_K $ ここでは,$ S_i $ は番号 $ N+M $ のスイッチ ($ M=0 $ の場合メモリ) の値が 1 であるべき状態のうち,$ i $ 番目のものです. $ S_i $ は $ N $ 文字の文字列で表され,$ i $ 文字目が `0` である場合は $ i $ 番目のスイッチの状態が 0 である,$ i $ 文字目が `1` である場合は $ i $ 番目のスイッチの状態が 1 であることを意味します. 例えば,$ N\ =\ 4 $ で $ S_i\ = $`0101` の場合,スイッチ $ 2,\ 4 $ が 1 であり,スイッチ $ 1,\ 3 $ が 0 であるような状態のことを表します.

Output Format

以下のように,論理回路の構成方法を出力してください. > $ M $ (番号 $ N+1 $ のメモリの情報) (番号 $ N+2 $ のメモリの情報) (番号 $ N+3 $ のメモリの情報) $ : $ (番号 $ N+M $ のメモリの情報) 番号 $ x $ のメモリの情報は,以下のように出力してください. **AND メモリの場合** > AND $ u $ $ v $ これは,番号 $ u $ と $ v $ のスイッチ/メモリから,番号 $ x $ のメモリに繋がっていることを表します.$ u\

Explanation/Hint

### 制約 - $ 1\ \leq\ T\ \leq\ 2 $ - $ 2\ \leq\ N\ \leq\ 10 $ - $ 1\ \leq\ K\ \leq\ 2^{N}-1 $ - $ T,\ N,\ K $ は整数 ### 小課題・得点 この問題には,$ 2 $ つの小課題があります. 1. (30 点) $ T\ =\ 1 $. 2. (70 点) $ T\ =\ 2 $. 小課題 1 において,各テストケースに対して以下のように得点が定められます.この小課題の全部のテストケースに対する最低得点がこの小課題の得点となります. - $ 2^{N}×4N\