장비 조합 1초 128MB
문제
정올이는 롤플레잉 게임을 하고 있다.
이 게임에서 캐릭터는
또한 장비는 아무 슬롯에나 장착 할 수 없으며 장비마다 정해진 하나의 슬롯에만 장착이 가능하다.
어떤 슬롯은 필수 장착 슬롯으로,
모든 장비는 1 이상의 정수로 이루어진 [강화레벨] 이라는 값을 가지고 있는데,
캐릭터의 장비 슬롯은 무기 슬롯과 같이 중요한 슬롯이 있고, 장갑 슬롯처럼 덜 중요한 슬롯이 있기 때문에
캐릭터의 전투력은 각 슬롯의 중요도 wi와 그 슬롯에 장착된 장비 강화레벨의 곱들의 합으로 계산된다.
예를 들어 1번 슬롯의 중요도가 3, 2번 슬롯의 중요도가 1인 경우,
1번 슬롯에 강화레벨 3의 장비를 장착하면 전투력 3*3=9를 얻고,
2번 슬롯에 강화레벨 2의 장비를 장착하면 전투력 1*2=2를 얻게되어
캐릭터의 전투력은 9+2 = 11이 된다.
겁이 많은 정올이는 자신보다 전투력이 낮거나 같은 캐릭터와 전투를 하고 싶다.
정올이의 전투력이 S라고 할 때, 상대방의 전투력이 S이하가 되는 장비 강화레벨 조합이 얼마나 많은지 계산해보자.
[제약 조건]
입력
첫 번째 줄에 슬롯의 수
이후
모든 입력은 정수 데이터로 주어진다.
출력
첫 번째 줄에 조합의 수를 1,000,000,009로 나눈 나머지를 출력한다.
부분문제
| 번호 | 점수 | 조건 |
|---|---|---|
| #1 | 10점 | N = 1 |
| #2 | 10점 | N = 2 |
| #3 | 20점 | N = 3 이면서 S ≤ 10,000 |
| #4 | 20점 | N ≤ 6 이면서 S ≤ 100 |
| #5 | 40점 | 추가 제약 조건 없음. |
예제 #1
2 4
1 0
2 0
9
(0,0) (0,1) (0,2) (1,0) (1,1) (2,0) (2,1) (3,0) (4,0)
괄호안의 값은 (1번 슬롯에 장착된 장비의 강화레벨, 2번 슬롯에 장착된 장비의 강화레벨)
총 9가지 강화레벨 조합이 있다.
예제 #2
2 5
1 0
3 1
3