• Home
  • About
    • 코드좀비 photo

      코드좀비

      An amazing website.

    • Learn More
    • Github
  • Posts
    • All Posts
    • All Tags
  • Projects

[BOJ] 백준 14899 스타트와 링크 간단한설명과 코드 C++

12 Jan 2020

Reading time ~1 minute

문제 정보

백준 ( BOJ ) 14899 스타트와 링크

문제 풀이 : 조합

문제 출처 : https://www.acmicpc.net/problem/14899

시작 Thinking

a

문제 풀이

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번

발생 에러 : 시간 초과

  • 조합 부분에서 코드를 잘못 짜는바람에 중복이 존재했음.. 해당 문제 때문에 상당히

시간이 많이 잡아먹힘..

노트북 바꿔서 디버깅좀 빠릿빠릿 하게 됬으면 ㅠㅠ..

쉽다고 생각한 부분도 디버깅 빼먹지 말고 넘어가자..

  • 초반 문제 어떻게 풀지 고민하는데 시간을 너무 많이 소요함.

좀더 빠른 두뇌 회전이 필요하다…!



백준C++조합 Share Tweet +1