아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

Alice와 Bob

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

요약
색칠된 DAG의 각 정점에 토큰을 최대 하나 놓는 배치 중에서, 최적 플레이에서 Alice(흰색 이동)가 Bob(검은색 이동)을 이기는 경우의 수를 센다.
난이도

어려움10점 중 8점

유형
게임 이론, 동적 계획법, 그래프, 조합론
정답자
아직 제출이 없습니다

문제

Alice와 Bob이 Alice부터 시작해 번갈아 턴을 두는 게임을 한다.

두 사람에게는 방향 비순환 그래프(DAG)가 주어지며, 모든 간선 u→vu \to v는 u<vu < v를 만족한다.

이 DAG의 모든 정점은 두 가지 색 중 하나로 칠해져 있고, 정점 위에는 토큰이 놓여 있다(한 정점에 토큰이 여러 개 있을 수 있다).

Alice는 자신의 턴에 토큰을 하나 이상 포함한 흰색 정점 uu를 고른다. 그다음 나가는 간선 u→vu \to v 하나를 골라 정점 uu에서 정점 vv로 토큰 하나를 옮긴다.

Bob은 자신의 턴에 토큰을 하나 이상 포함한 검은색 정점 uu를 고른다. 그다음 나가는 간선 u→vu \to v 하나를 골라 정점 uu에서 정점 vv로 토큰 하나를 옮긴다.

움직일 수 없는 사람이 진다.

Alice와 Bob은 아직 토큰 배치를 정하지 않았지만, 게임이 시작될 때 각 정점에는 토큰이 최대 하나만 놓이기로 했다. 2n2^n가지 토큰 배치 중에서, 두 사람이 최적으로 플레이할 때 Alice가 이기는 배치의 수를 구하시오. 값이 클 수 있으므로 998 244 353998\,244\,353으로 나눈 나머지를 구하시오.

입력

첫째 줄에 두 정수 n,mn,m이 주어진다(1≤n≤300,0≤m≤n(n−1)21 \leq n \leq 300, 0 \leq m \leq \frac{n(n-1)}{2}). 이는 그래프의 정점 수와 간선 수이다.

둘째 줄에 길이 nn의 문자열이 주어진다. ii번째 문자가 W이면 정점 ii는 흰색이다. 그렇지 않으면 B이며 검은색이다.

다음 mm개의 줄에는 두 정점 uu, vv가 주어진다(1≤u<v≤n1 \leq u < v \leq n). 이는 간선 u→vu \to v를 나타낸다.

DAG에 중복 간선은 없다.

출력

각 정점에 토큰을 최대 하나만 놓는 배치 중 Alice가 이기는 배치의 수를 998 244 353998\,244\,353으로 나눈 나머지를 출력한다.

힌트

첫 번째 예시에서 Alice는 한 번이라도 움직일 수 있는 모든 경우에 이긴다(Bob은 절대 움직일 수 없기 때문이다). 따라서 답은 25−22^5 - 2이다.

예제4

  1. 예제 1

    입력
    5 4
    WWWWW
    1 2
    2 3
    3 4
    4 5
    
    예상 출력
    30
    
  2. 예제 2

    입력
    5 4
    BWBWB
    1 2
    2 3
    3 4
    4 5
    
    예상 출력
    24
    
  3. 예제 3

    입력
    9 14
    BWWBBBWWW
    1 2
    1 9
    2 3
    2 4
    2 6
    2 8
    3 4
    3 7
    4 7
    4 8
    5 7
    5 9
    6 9
    7 8
    
    예상 출력
    300
    
  4. 예제 4

    입력
    10 15
    BWBWBBWWBW
    1 2
    1 5
    1 10
    2 6
    2 8
    3 6
    3 7
    4 10
    5 6
    5 7
    5 8
    6 8
    6 9
    7 10
    8 9
    
    예상 출력
    228