CF331E2.Deja Vu

普及/提高-

通过率:0%

AC君温馨提醒

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

题目描述

Everybody knows that we have been living in the Matrix for a long time. And in the new seventh Matrix the world is ruled by beavers.

So let's take beaver Neo. Neo has so-called "deja vu" outbursts when he gets visions of events in some places he's been at or is going to be at. Let's examine the phenomenon in more detail.

We can say that Neo's city is represented by a directed graph, consisting of nn shops and mm streets that connect the shops. No two streets connect the same pair of shops (besides, there can't be one street from A to B and one street from B to A). No street connects a shop with itself. As Neo passes some streets, he gets visions. No matter how many times he passes street kk , every time he will get the same visions in the same order. A vision is a sequence of shops.

We know that Neo is going to get really shocked if he passes the way from some shop aa to some shop bb , possible coinciding with aa , such that the list of visited shops in the real life and in the visions coincide.

Suggest beaver Neo such path of non-zero length. Or maybe you can even count the number of such paths modulo 10000000071000000007 (109+7)(10^{9}+7) ?..

输入格式

The first line contains integers nn and mm — the number of shops and the number of streets, correspondingly, 1<=n<=501<=n<=50 , . Next mm lines contain the descriptions of the streets in the following format: xix_{i} yiy_{i} kik_{i} v1v_{1} v2v_{2} ... vkv_{k} , where xix_{i} and yiy_{i} (1<=xi,yi<=n,xiyi)(1<=x_{i},y_{i}<=n,x_{i}≠y_{i}) are numbers of shops connected by a street, kik_{i} (0<=ki<=n)(0<=k_{i}<=n) is the number of visions on the way from xix_{i} to yiy_{i} ; v1v_{1} , v2v_{2} , ..., vkv_{k} (1<=vi<=n)(1<=v_{i}<=n) describe the visions: the numbers of the shops Neo saw. Note that the order of the visions matters.

It is guaranteed that the total number of visions on all streets doesn't exceed 10510^{5} .

  • to get 50 points, you need to find any (not necessarily simple) path of length at most 2n2·n , that meets the attributes described above (subproblem E1);
  • to get 50 more points, you need to count for each length from 11 to 2n2·n the number of paths that have the attribute described above (subproblem E2).

输出格式

Subproblem E1. In the first line print an integer kk (1<=k<=2n)(1<=k<=2·n) — the numbers of shops on Neo's path. In the next line print kk integers — the number of shops in the order Neo passes them. If the graph doesn't have such paths or the length of the shortest path includes more than 2n2·n shops, print on a single line 00 .

Subproblem E2. Print 2n2·n lines. The ii -th line must contain a single integer — the number of required paths of length ii modulo 10000000071000000007 (109+7)(10^{9}+7) .

输入输出样例

  • 输入#1

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

    输出#1

    4
    6 1 2 3
    
  • 输入#2

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

    输出#2

    1
    2
    1
    1
    2
    1
    1
    2
    1
    1
    2
    1

说明/提示

The input in both samples are the same. The first sample contains the answer to the first subproblem, the second sample contains the answer to the second subproblem.

首页