서브태스크 점수

시간 제한1초메모리 제한1024 MB

요약
각 문제는 점수 합이 100인 10개 이하의 서브태스크로 이루어지고 이들 사이에 전이적인 선수 관계가 있다. 점수 합이 t가 되도록 유효한 서브태스크 집합을 고르는 방법의 수를 각 t마다 세고, 그 수에 t를 곱한 값의 총합을 998244353으로 나눈 나머지를 구한다.
난이도

어려움10점 중 8점

유형
동적 계획법, 위상 정렬, 조합론, 비트 연산
정답자
아직 제출이 없습니다

문제

LGCPC 대회 문제를 준비하는 디오스(DIOS)는 맞힌 서브태스크(subtask, 부분 문제)의 집합이 다르지만 최종 점수가 같은 참가자들이 얼마나 많이 나올지 궁금해졌다.

대회는 PP개의 문제로 구성되어 있다. 각 문제는 1개 이상의 서브태스크로 구성되어 있는데, ii번 문제는 N_iN\_i개의 서브태스크로 구성되어 있고, ii번 문제의 jj번 서브태스크의 점수는 S_i,jS\_{i,j}점이다. 참가자의 최종 점수는 PP개의 문제에서 맞힌 서브태스크들의 점수의 합이다. 각 문제의 서브태스크 점수의 합은 정확히 100점이다.

서브태스크는 위계 관계를 가질 수 있다. 위계를 나타내는 쌍 (x,y)(x, y)는 yy번 서브태스크를 맞히기 위해서는 xx번 서브태스크도 맞혀야 함을 의미한다. 위계는 전이적으로 적용된다. 즉, 위계가 (x,y)(x, y), (y,z)(y, z)와 같이 있다면, zz번 서브태스크를 맞히기 위해서 x,yx, y번 서브태스크를 모두 맞혀야 한다. 위계 관계는 한 문제 안에서만 존재하며, 서로 다른 문제의 서브태스크들 사이에는 어떠한 제약도 없다.

참가자의 최종 점수가 정확히 tt점이 되도록 문제들의 서브태스크를 고르는 방법의 수를 R_tR\_t라고 하자. 여기에서 "방법"은 각 문제마다 선택한 서브태스크들의 집합을 의미하며, 선택한 서브태스크들은 위계 관계를 만족해야 한다. 서브태스크를 하나도 선택하지 않는 것도 유효한 방법이므로 R_0≥1R\_0 \ge 1임에 유의하라.

R_0,R_1,⋯ ,R_100×PR\_0, R\_1, \cdots, R\_{100\times P}를 구하는 프로그램을 작성하라.

입력

첫째 줄에 문제의 개수 PP가 주어진다.

이후 문제 PP개의 정보가 다음과 같은 형식으로 차례대로 주어진다:

첫째 줄에 서브태스크의 개수 N_iN\_i와 서브태스크 위계의 수 M_iM\_i가 공백으로 구분되어 주어진다.

둘째 줄에 각 서브태스크의 점수 S_i,1,S_i,2,⋯ ,S_i,N_iS\_{i,1}, S\_{i,2}, \cdots, S\_{i, N\_i}가 공백으로 구분되어 주어진다. 이는 ii번 문제의 jj번 서브태스크를 맞히면 S_i,jS\_{i,j}점을 얻는다는 것을 의미한다.

다음 M_iM\_i개의 줄에 서브태스크의 위계를 나타내는 두 정수 X_i,kX\_{i,k}와 Y_i,kY\_{i,k}가 공백으로 구분되어 주어진다. 이는 ii번째 문제의 Y_i,kY\_{i,k}번 서브태스크를 맞히기 위해서는 X_i,kX\_{i,k}번 서브태스크 또한 맞혀야 함을 의미한다.

출력

출력해야 하는 수의 개수와 크기가 매우 커질 수 있으므로, ∑_t=0100×PR_t×t\sum\_{t=0}^{100\times P} R\_t \times t를 998,244,353998\\,244\\,353으로 나눈 나머지를 출력한다.

제한

  • 1≤P≤301 \le P \le 30
  • 1≤N_i≤101 \le N\_i \le 10 (1≤i≤P1 \le i \le P)
  • 0≤M_i≤N_i(N_i−1)/20 \le M\_i \le N\_i(N\_i-1)/2 (1≤i≤P1 \le i \le P)
  • 1≤S_i,j≤1001 \le S\_{i,j} \le 100 (1≤i≤P1 \le i \le P; 1≤j≤N_i1 \le j \le N\_i)
  • ∑_j=1N_iS_i,j=100\sum\_{j=1}^{N\_i} S\_{i,j} = 100 (1≤i≤P1 \le i \le P)
  • 1≤X_i,k<Y_i,k≤N_i1 \le X\_{i,k} < Y\_{i,k} \le N\_i (1≤i≤P1 \le i \le P; 1≤k≤M_i1 \le k \le M\_i)
  • 중복된 위계 관계는 주어지지 않는다.
  • 전이적으로 유도될 수 있는 위계 관계가 입력으로 주어질 수 있다.
  • 입력으로 주어지는 수는 모두 정수다.

예제3

  1. 예제 1

    입력
    3
    1 0
    100
    1 0
    100
    1 0
    100
    
    예상 출력
    1200
    
  2. 예제 2

    입력
    1
    3 2
    20 35 45
    1 2
    1 3
    
    예상 출력
    240
    
  3. 예제 3

    입력
    2
    3 2
    12 13 75
    1 2
    2 3
    3 0
    20 30 50
    
    예상 출력
    2696