본문 바로가기

BOJ

[BOJ][Python] 백준 4658번 - 삼각형 게임

728x90

문제 링크: https://www.acmicpc.net/problem/4658

 

4658번: 삼각형 게임

삼각형 게임은 시작할때 여섯개의삼각형을 부여받는데, 각 변에는 숫자가 쓰여있다(그림 참고). 이 삼각형들을 돌리고 움직여서 육각형을 만들어야 하는데, 반드시같은 숫자가 쓰여있는 변끼리

www.acmicpc.net


문제 풀이

브루트포스 알고리즘

 

브루트포스로 대충 돌려서 풀었다. 테케가 몇 개인지 모르지만 한번 할때 $6!*3^{6}$ 정도니 시간 안에 들거 같다.

일단 삼각형을 입력받고 왼쪽 숫자는 0, 오른쪽 숫자는 1, 밑변 숫자는 2로 인덱스를 정하자. 다음 그림과 같다.

이런 삼각형이 주어졌을 때, 순서가 정해져있지 않기 때문에 순열을 이용해주고, i번의 삼각형의 1번 인덱스와 i+1번의 삼각형의 0번 인덱스와 같은 경우 i번 삼각형의 2번 인덱스를 더해주고 만약 아니라면 반복문을 종료해주면 된다. 마지막 삼각형의 경우는 0번 삼각형과 비교하면 된다.

다만, 삼각형을 돌려도 되기 때문에 값을 교체하는 함수를 만들어서 반복문을 돌려주자.

 

코드

728x90