티스토리 뷰
반응형
solved.ac 티어 : 골드 4
이 문제는 코드업의 극장 좌석 배치 2를 풀고 하면 쉽게 할 수 있다.
이 문제와 색상환의 다른 점은 색상환은 양끝이 이어져있다는 것이다.
색상환은 코드업 문제에다가 한 가지 경우의 수를 빼주면 되는데 그건 바로 양끝이 선택됐을 경우이다.
색상환은 코드업 문제와는 다르게 양 끝이 만나면 안 된다. 그러므로 코드업문제에서 양끝이 모두 선택되어있고 나올 수 있는 경우의 수를 빼주면 된다. 양끝이 선택되어있고 나올 수 있는 경우의 수는 어떻게 구할 수 있을까?
바로 양쪽 2개를 지워주고 코드업문제 코드를 돌리면 된다. 그 이유는 양끝 값이 선택되어있다면 그 옆칸은 선택할 수 없기 때문에 양쪽으로 2개를 지워주고 k에도 -2를 해준 다음 코드를 돌리면 된다.
양쪽 2개를 없애준다면 나머지에서는 양쪽에 값이 있어도 되기 때문이다.
from math import factorial as t
a=int(input())
b=int(input())
if b==1:print(a)
else:
c=a-b
d=max(0,a-4)
e=max(0,b-2)
f=d-e
r=t(max(c+1,1))//(t(b)*t(max(c+1-b,1)))
if e==0:
print((r-1)%1000000003)
else:
print((r-t(max(f+1,1))//(t(e)*t(max(f+1-e,1))))%1000000003)
반응형
'ps' 카테고리의 다른 글
BOJ 17386(선분 교차 1)풀이 (0) | 2021.02.25 |
---|---|
BOJ 1944(복제 로봇)풀이 (0) | 2021.02.22 |
BOJ 20040(사이클 게임)풀이 (0) | 2021.02.14 |
BOJ 10942(팰린드롬?)풀이 (0) | 2021.02.12 |
BOJ 16910(mex와 쿼리)풀이 (1) | 2021.02.10 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 세그먼트 트리
- 느리게 갱신되는 세그먼트 트리
- 완전 탐색
- 그래프 탐색
- 이분 탐색
- C++
- 다이나믹 프로그래밍
- 정렬
- 트리에서의 다이나믹 프로그래밍
- 알고리즘
- 자료구조
- 잡봇
- 트리
- 이분매칭
- 개발
- discord bot
- 그리디 알고리즘
- 선분 교차 판정
- codeforces
- 구현
- BOJ
- 깊이 우선 탐색
- KOI
- 자료 구조
- Python
- 수학
- 누적 합
- 그래프 이론
- 최소 스패닝 트리
- A Dance of Fire and Ice
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
글 보관함