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

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

소들의 야찌

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

요약
N개의 주사위를 굴려 나온 순서 있는 결과 중, WxR 꼴 조건들을 AND로 묶은 식 여러 개 중 하나라도 만족하는 경우의 수를 센다.
난이도

보통10점 중 7점

유형
조합론, 수학, 완전 탐색, 비트 연산
정답자
아직 제출이 없습니다

문제

소들이 주사위 게임인 야찌(Yahtzee)의 한 변형을 하고 있다. 소들은 각각 면이 SS개(11부터 SS까지 번호가 매겨져 있음)인 주사위 NN개를 굴린다. 소들은 가능한 모든 굴림 중에서 주어진 조건(예를 들어 "2가 세 개 있다" 또는 "2가 하나, 3이 둘 있다")을 만족하는 굴림이 몇 가지인지 알고 싶어 한다.

하나의 굴림은 주사위 NN개의 결과를 순서대로 나열한 것이다. 예를 들어 면이 두 개인 주사위 세 개로 가능한 모든 굴림은 다음과 같다.

{1,1,1; 1,1,2; 1,2,1; 1,2,2; 2,1,1; 2,1,2; 2,2,1; 2,2,2}.

각 조건은 "결과 RR이 최소 WW개 있기를 원한다"를 뜻하는 기본형으로 이루어지며, 다음과 같이 표기한다.

WxR

여기서 0≤W≤N0 \le W \le N, 1≤R≤S1 \le R \le S이다.

EE개의 식이 주어진다. 각 식은 11개에서 1010개의 기본형을 +로 이은 것이며, +는 "그리고"를 뜻한다. 즉 어떤 굴림이 그 식을 만족하려면 식에 포함된 모든 기본형을 만족해야 한다. EE개의 식은 포함적 또는(or)으로 묶인다. 즉 굴림이 식들 중 적어도 하나를 만족하면 세어 준다.

예를 들어 다음 두 식

3x5
1x3+2x4

은 "5가 최소 세 개 있거나, 또는 (3이 최소 하나 있고 4가 최소 둘 있음)"을 뜻한다. 면이 다섯 개인 주사위 네 개의 굴림 중 이 식을 만족하는 예로는 5,5,5,1; 4,5,5,5; 3,4,4,2; 3,4,4,3; 3,4,4,5; 4,4,5,3 등이 있다.

SNS^N가지의 가능한 굴림 중 식을 적어도 하나 만족하는 굴림이 몇 가지인지 세어라.

제약: 1≤N≤201 \le N \le 20, 1≤S≤81 \le S \le 8, 1≤E≤201 \le E \le 20이고, 각 식은 11개에서 1010개의 기본형을 가지며, 0≤W≤N0 \le W \le N, 1≤R≤S1 \le R \le S이다. 주사위 조합의 총 개수(SNS^N)는 1,512,768을 넘지 않는다.

입력

  • 첫째 줄: 공백으로 구분된 세 정수 NN, SS, EE.
  • 둘째 줄부터 E+1E+1째 줄까지: i+1i+1째 줄에는 위 형식으로 표현된 ii번째 식이 주어진다.

출력

  • 정수 하나: SNS^N가지 조합 전체 중 식을 적어도 하나 만족하는 굴림의 개수.

예제1

  1. 예제 1

    입력
    4 5 2
    3x5
    1x3+2x4
    
    예상 출력
    63