CF1387C.Viruses

普及/提高-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

The Committee for Research on Binary Viruses discovered a method of replication for a large family of viruses whose genetic codes are sequences of zeros and ones. Each virus originates from a single gene; for simplicity genes are denoted by integers from 00 to G1G - 1 . At each moment in time a virus is a sequence of genes. When mutation occurs, one of the genes from the sequence is replaced by a certain sequence of genes, according to the mutation table. The virus stops mutating when it consists only of genes 00 and 11 .

For instance, for the following mutation table: $$$$ 2 \to \langle 0\ 1 \rangle \ 3 \to \langle 2\ 0\ 0\rangle\ 3 \to \langle 1\ 3\rangle\ 4 \to \langle 0\ 3\ 1\ 2\rangle\ 5 \to \langle 2\ 1\rangle\ 5 \to \langle 5\rangle $$ a virus that initially consisted of a single gene 44 , could have mutated as follows: $$ \langle 4 \rangle \to \langle \underline{0\ 3\ 1\ 2} \rangle \to \langle 0\ \underline{2\ 0\ 0}\ 1\ 2 \rangle \to \langle 0\ \underline{0\ 1}\ 0\ 0\ 1\ 2 \rangle \to \langle 0\ 0\ 1\ 0\ 0\ 1\ \underline{0\ 1} \rangle $$ or in another way: $$ \langle 4 \rangle \to \langle \underline{0\ 3\ 1\ 2} \rangle \to \langle 0\ \underline{1\ 3}\ 1\ 2 \rangle \to \langle 0\ 1\ 3\ 1\ \underline{0\ 1} \rangle \to \langle 0\ 1\ \underline{2\ 0\ 0}\ 1\ 0\ 1 \rangle \to \langle 0\ 1\ \underline{0\ 1}\ 0\ 0\ 1\ 0\ 1 \rangle $$

Viruses are detected by antibodies that identify the presence of specific continuous fragments of zeros and ones in the viruses' codes. For example, an antibody reacting to a fragment langle00100rangle\\langle 0\\ 0\\ 1\\ 0\\ 0 \\rangle will detect a virus langle00100101rangle\\langle 0\\ 0\\ 1\\ 0\\ 0\\ 1\\ 0\\ 1 \\rangle , but it will not detect a virus langle010100101rangle\\langle 0\\ 1\\ 0\\ 1\\ 0\\ 0\\ 1\\ 0\\ 1 \\rangle .

For each gene from 22 to G1G-1$$, the scientists are wondering whether a given set of antibodies is enough to detect all viruses that can emerge through mutations from this gene. If not, they want to know the length of the shortest virus that cannot be detected.

It may happen that sometimes scientists don't have any antibodies. Then of course no virus can be detected, so the scientists are only interested in the length of the shortest possible virus that can emerge from the gene mutations.

输入格式

The first line of the input will contain three integers GG , NN and MM ( G>2G > 2 , NG2N \geq G - 2 , M0M \geq 0 ) specifying the number of genes, the number of rows in the mutation table, and the number of antibodies.

The following NN lines contain descriptions of rows of the mutation table; each line begins with two integers aa and kk ( 2a<G2 \leq a < G , k1k \geq 1 ), followed by a sequence of kk integers b1,b2,,bkb_1, b_2, \ldots, b_k ( 0bi<G0 \leq b_i < G ), that encode the row $$$$ a \to \langle b_1\ b_2\ \ldots\ b_k \rangle $$

The sum of all values kk does not exceed 100100 . Every integer from 22 to G1G - 1 appears in the table as aa at least once.

The next MM lines contain descriptions of the antibodies; each such line begins with an integer ell\\ell ( ellgeq1\\ell \\geq 1 ), followed by a sequence of ell\\ell integers c_1,c_2,ldots,c_ellc\_1, c\_2, \\ldots, c\_\\ell ( 0leqc_ileq10 \\leq c\_i \\leq 1 ), describing the antibody. The sum of all values ell\\ell does not exceed 5050$$.

输出格式

Your program needs to output exactly G2G - 2 lines, containing the answers for the subsequent genes from 22 to G1G - 1 .

If all viruses that can mutate from this single gene can be detected by the given set of antibodies, you need to print the word "YES". You also need to print this if there are no viruses that could originate from this gene (it can happen when the sequences never stop mutating).

Otherwise you need to print the word "NO", followed by an integer denoting the minimal length of the undetectable virus. You can assume that for all the prepared input data this value will be smaller than 2632^{63} .

Scoring

Subtasks:

  1. (11 points) No antibodies ( M=0M = 0 )
  2. (14 points) N=G2N = G - 2
  3. (25 points) One antibody ( M=1M = 1 )
  4. (32 points) The sum of all values \ell does not exceed 1010
  5. (18 points) No further constraints

输入输出样例

  • 输入#1

    6 6 2
    2 2 0 1
    3 3 2 0 0
    3 2 1 3
    4 4 0 3 1 2
    5 2 2 1
    5 1 5
    2 1 1
    5 0 0 1 0 0

    输出#1

    NO 2
    NO 4
    NO 9
    YES
首页