문제 정보
백준 ( BOJ ) 14899 스타트와 링크
문제 풀이 : 조합
문제 출처 : https://www.acmicpc.net/problem/14899
시작 Thinking
문제 풀이
0 a b c
d 0 e f
g h 0 i
j k l 0
여기서 1번과 2번이 같이 할때 시너지는 a+d 입니다.
굳이 저렇게 나누어진 상태로 둘 필요가 없이
0 a+d b+g c+j
0 0 e+h f+k
0 0 0 i+l
0 0 0 0
위와 같이 미리 더해놓고 계산을 하게 되면 계산을 줄일 수 있습니다.
저는 문제 풀때 조합을 직접 사용 했습니다.
예를들면 4명이 있으면,
1100
1010
1001
이와 같이 1과 0으로 팀이름을 나누었습니다.
한가지 주의하실점은
0번 사람은 무조건 A팀에 들어간다고 생각하고 해야 합니다.
왜냐면 1100 = 0011
즉 팀 순서는 상관없이 인원구성이 동일하면 같은 결과이기에
0의 팀을 고정 해 줘야 합니다.
그럼 이제 0,1,2,3 이 같은 팀일때 팀 점수의 합을 계산 해 보도록 하겠습니다.
(0,1) + (0,2) + (0,3)
+ (1,2) + (1,3)
+ (2,3)
이와같이 계산 해 주면 됩니다.
이 내용을 바탕으로 그대로 구현하게 되면 성공적으로 만드 실 수 있을겁니다.
코드
문제 후기
소요 시간 : 96분
틀린 횟수 : 2번
발생 에러 : 시간 초과
- 조합 부분에서 코드를 잘못 짜는바람에 중복이 존재했음.. 해당 문제 때문에 상당히
시간이 많이 잡아먹힘..
노트북 바꿔서 디버깅좀 빠릿빠릿 하게 됬으면 ㅠㅠ..
쉽다고 생각한 부분도 디버깅 빼먹지 말고 넘어가자..
- 초반 문제 어떻게 풀지 고민하는데 시간을 너무 많이 소요함.
좀더 빠른 두뇌 회전이 필요하다…!