Algorithm(77)
-
부르트포스 - 백준 체스판 다시 칠하기 1018
https://www.acmicpc.net/problem/1018 1018번: 체스판 다시 칠하기 첫째 줄에 N과 M이 주어진다. N과 M은 8보다 크거나 같고, 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에는 보드의 각 행의 상태가 주어진다. B는 검은색이며, W는 흰색이다. www.acmicpc.net 큰 체스판을 8*8로 짤라내어 올바른 체스판을 만드는 최소한의 횟수를 찾는 방법이다. 어릴 때 부터 느끼는 것이지만 왜 맨날 문제들은 달력을 찢고 짜르고 붙이고를 반복할까 ㅠㅠ 이 문제는 아래와 같은 올바른 체스판을 만드는 방법을 찾아야한다. 첫 시작점이 B냐 W에 따라서 다른 결과가 나오기 때문에 두가지 경우 중 최소의 경우를 찾아야한다. WBWBWBWBWB BWBWBWBWBW BWBWB..
2020.01.21 -
부르트포스 - 백준 블랙잭 2798
부르트 포스는 가능한 모든 경우의 수를 실행해보는 것이다. 복잡하지만 의외로 간단하기도 한 문제이다. https://www.acmicpc.net/problem/2798 2798번: 블랙잭 문제 카지노에서 제일 인기 있는 게임 블랙잭의 규칙은 상당히 쉽다. 카드의 합이 21을 넘지 않는 한도 내에서, 카드의 합을 최대한 크게 만드는 게임이다. 블랙잭은 카지노마다 다양한 규정이 있다. 한국 최고의 블랙잭 고수 김정인은 새로운 블랙잭 규칙을 만들어 상근, 창영이와 게임하려고 한다. 김정인 버젼의 블랙잭에서 각 카드에는 양의 정수가 쓰여 있다. 그 다음, 딜러는 N장의 카드를 모두 숫자가 보이도록 바닥에 놓는다. 그런 후에 딜러는 숫자 M을 크게 www.acmicpc.net 백준 단계별 풀기 중 브루트 포스 중..
2020.01.21 -
백준 11729 하노이 탑 이동 순서
https://www.acmicpc.net/problem/11729 11729번: 하노이 탑 이동 순서 세 개의 장대가 있고 첫 번째 장대에는 반경이 서로 다른 n개의 원판이 쌓여 있다. 각 원판은 반경이 큰 순서대로 쌓여있다. 이제 수도승들이 다음 규칙에 따라 첫 번째 장대에서 세 번째 장대로 옮기려 한다. 한 번에 한 개의 원판만을 다른 탑으로 옮길 수 있다. 쌓아 놓은 원판은 항상 위의 것이 아래의 것보다 작아야 한다. 이 작업을 수행하는데 필요한 이동 순서를 출력하는 프로그램을 작성하라. 단, 이동 횟수는 최소가 되어야 한다. 아래 그림은 원판이 5 www.acmicpc.net 재귀 문제 예제로 정말 많이 쓰이는 문제이다. 설명을 할 때 start mid end 이런식으로 세부분으로 나누어서 설명..
2020.01.10 -
백준 1002 터렛
https://www.acmicpc.net/problem/1002 1002번: 터렛 각 테스트 케이스마다 류재명이 있을 수 있는 위치의 수를 출력한다. 만약 류재명이 있을 수 있는 위치의 개수가 무한대일 경우에는 -1을 출력한다. www.acmicpc.net 이 문제는 수학을 모르면 많이 어려운 문제였다. 그래서 그런지 정답률도 18%밖에 안된다. 나도 꽤나 어려움을 겪었던 문제여서 정리하려고한다. 두명의 좌표에서 한사람의 좌표까지의 길이를 알려준다. 결론적으로 말하면 r1, r2을 반지름으로 두 원의 위치관계로 결과를 구할 수 있다. 여기서 x1, y1, x2, y2 모두 같은 좌표에서 유요한 x와 y를 구해야한다. 두점에서 만나는 경우 두점에서 만난다는 말은 두 원이 겹친다는 말입니다. 두 원이 겹치..
2020.01.10 -
백준 1712 손익분기점
https://www.acmicpc.net/problem/1712 1712번: 손익분기점 월드전자는 노트북을 제조하고 판매하는 회사이다. 노트북 판매 대수에 상관없이 매년 임대료, 재산세, 보험료, 급여 등 A만원의 고정 비용이 들며, 한 대의 노트북을 생산하는 데에는 재료비와 인건비 등 총 B만원의 가변 비용이 든다고 한다. 예를 들어 A=1,000, B=70이라고 하자. 이 경우 노트북을 한 대 생산하는 데는 총 1,070만원이 들며, 열 대 생산하는 데는 총 1,700만원이 든다. 노트북 가격이 C만원으로 책정되었다고 한다. 일반적으로 www.acmicpc.net 손익 분기점도 이전의 등차수열을 이용해서 풀어주면된다. 그렇지만 금액이 같으면 안되고 무조건 1원이라도 이득인 개수를 찾아야하기 때문에 ..
2020.01.10 -
백준 2869 달팽이는 올라가고 싶다
https://www.acmicpc.net/problem/2869 2869번: 달팽이는 올라가고 싶다 문제 땅 위에 달팽이가 있다. 이 달팽이는 높이가 V미터인 나무 막대를 올라갈 것이다. 달팽이는 낮에 A미터 올라갈 수 있다. 하지만, 밤에 잠을 자는 동안 B미터 미끄러진다. 또, 정상에 올라간 후에는 미끄러지지 않는다. 달팽이가 나무 막대를 모두 올라가려면, 며칠이 걸리는지 구하는 프로그램을 작성하시오. 입력 첫째 줄에 세 정수 A, B, V가 공백으로 구분되어서 주어진다. (1 ≤ B < A ≤ V ≤ 1,000,000,000) 출력 첫째 줄에 달팽 www.acmicpc.net 이 문제는 특정 숫자에 대해 n번 일때 최대 높이를 구하는 것이 중요하다. V미터 까지 A만큼 올라갔다가 도달하지 못하면 ..
2020.01.10