profile
뉴비

백준 1038. 감소하는 수 (Python)

문제 : https://www.acmicpc.net/problem/1038 풀이 참고로 이문제는 1174번(줄어드는 수)와 99% 유사하다. 백트래킹 혹은 조합을 통해 0부터 1000000까지의 줄어드는 수 조합을 찾는다. 이때,최대 감소하는 수(9876543210)는 N이 1022번째일때의 경우이므로, 그 이상으로 N이 들어올 경우 -1출력 처리.

2023년 3월 20일
·
0개의 댓글
·
post-thumbnail

SWEA 4613. 러시아 국기 같은 깃발 (Python)(D4)

흰색a줄, 파란색b줄, 빨간색c줄을 색칠하는데, a>=1, b>=1, c>=1, a+b+c=N 이어야 하며 색칠해야하는 값이 최소이어야 한다. 먼저, N개의 줄에 대해 각 줄의 W,B,R의 갯수를 구한다. 이후 백트래킹으로 2~N-1줄에 대해 B가 색칠될 줄의 경우의 수를 구한다. 이때, 첫번째줄은 무조건 흰색, 마지막줄은 무조건 빨간색이다. 파란색줄은 무조건 이어져야 한다. 파란색줄은 무조건 1줄이상 있어야 한다. 파란색줄이 색칠될 경우의 수가 정해지면 해당경우에 색칠해야 하는 칸의 수를 구하며 최소값 갱신 ex) WWWWWWWWWWWWWW WWRRWWBBBBBBWW WRRRWWWBWWWWRB WWBWBWWWBWRRRR WBWBBWWWBBWRRW WWWW

2023년 2월 8일
·
0개의 댓글
·
post-thumbnail

SWEA 1494. 사랑의 카운슬러(Python)(D4)

N마리의 지렁이가 있으면 이중 N/2마리를 출발지렁이, N/2를 도착지렁이로 구분짓는다. 그리고 출발지렁이의 좌표값합과 도착지렁이의 좌표값합을 A, B라고 할 경우 (Ax-Bx)^2+(Ay-By)^2가 최소가 되게하는 지렁이 조합의 경우의수를 찾으면 됨 ** 한쌍, 한쌍 구해서 계산할 필요가 없다. 전체벡터합을 더해 벡터의크기를 구하기 때문! ** 제곱하고 난 뒤 더하므로 부호계산 할 필요 없음! ex) (2,3) (5,6) (3,-2) (6,-5) 1-3, 2-4 매칭 -> (2,3) - (3,-2) = (-1,5) / (5,6) - (6,-5) = (-1,11) 벡터의 크기 = (-1,5)+(-1,11)=(-2,16) -> 4 + 256 = 260 -> (2,3) + (5,6) - (3,-2)- (6,

2023년 2월 6일
·
0개의 댓글
·