Algorithm/SWEA
-
[SWEA] 3316. 동아리실 관리하기Algorithm/SWEA 2020. 10. 30. 21:14
단순한 경우의 수 계산 문제인줄 알고 수학적으로 접근했다가 엄청 헤멨다. 처음에는 현재 관리자를 포함해 나올 수 있는 경우의 수를 다 센 다음에 열쇠를 건네받을 수 없는 경우만 따로 빼는 식으로 계산했는데, 이게 내가 생각한 것보다 따져야할 경우의 수가 너무 많아서 숫자가 자꾸 틀렸다. 결국 검색을 해봤는데 비트마스킹으로 일일이 경우의 수를 계산하는 문제였음... (참고한 코드는 여기 : willbfine.tistory.com/330) A, B, C, D가 i번째 날에 나오는 경우의 수는 총 2^4 - 1 = 15가지이고, 최대 날 수는 10000이므로 dp[10000][16] 크기의 배열을 생성해서 각 날마다의 경우의 수를 일일이 계산해주고, 총 경우의 수는 dp[10000][1]부터 dp[10000]..