목록알고리즘 (29)
어읽로꾸거
백준 17281 ⚾(야구) https://www.acmicpc.net/problem/17281 17281번: ⚾ ⚾는 9명으로 이루어진 두 팀이 공격과 수비를 번갈아 하는 게임이다. 하나의 이닝은 공격과 수비로 이루어져 있고, 총 N이닝동안 게임을 진행해야 한다. 한 이닝에 3아웃이 발생하면 이닝이 종�� www.acmicpc.net 요즘 삼성 A형 기출을 풀어보고 있다. 코로나 끝나면 외출 끊어서 삼성 코테 보러 갈꺼임. 문제 이름이 그림이다. 특이함. 풀이 가능한 선수 타자 배치를 만든다. p_list 배열에다가 만듦. 여기서 1번 선수는 무조건 4번 타자이다. 아마 처음은 2 3 4 1 5 6 7 8 9 일꺼고 이런식으로 재귀를 통하여 모든 경우의 수를 구현한다. 그 후 각 경우에 대하여 야구 경기..
백준 15647 링크 https://www.acmicpc.net/problem/15647 15647번: 로스팅하는 엠마도 바리스타입니다 문제 로스팅하는 엠마는 바리스타입니다. 엠마는 N개의 정점을 가진 트리 형태의 농장 연결 시스템을 구축한 상태입니다. 트리의 정점은 1번부터 N번까지 번호가 매겨져 있습니다. 각각의 간선은 그 농장에서 다른 농장으로 이동할 수 있음을 뜻하며, 간선의 가중치는 이동 거리를 뜻합니다. 엠마는 한 개의 농장을 정해 농장 옆에 로스팅 시설을 마련하려고 합니다. 이때, 다른 농장에서 로스팅 시설까지의 거리의 합들을 알아야, 효율적으로 로스팅 시설의 위치를 정할 수 www.acmicpc.net 풀이 상당히 오래전에 DFS를 N번 도는걸 생각을 했지만 그렇게 해서는 통과가 되지 않는..
링크 https://www.acmicpc.net/problem/3187 3187번: 양치기 꿍 문제 양치기 꿍은 맨날 늑대가 나타났다고 마을 사람들을 속였지만 이젠 더이상 마을 사람들이 속지 않는다. 화가 난 꿍은 복수심에 불타 아예 늑대들을 양들이 있는 울타리안에 마구 집어넣어 양들을 잡아먹게 했다. 하지만 양들은 보통 양들이 아니다. 같은 울타리 영역 안의 양들의 숫자가 늑대의 숫자보다 더 많을 경우 늑대가 전부 잡아먹힌다. 물론 그 외의 경우는 양이 전부 잡아먹히겠지만 말이다. 꿍은 워낙 똑똑했기 때문에 이들의 결과는 이미 알고있다. 만약 빈 www.acmicpc.net 풀이 구역별로 BFS를 돌리며 카운팅을 해줌! 코드 #include #include #include using namespace ..
링크 https://www.acmicpc.net/problem/14613 14613번: 너의 티어는? 규환이는 최근에 오버워치에 흠뻑 빠졌다. 그의 랭크 점수는 현재 2000점이며, 그는 오늘 랭크게임을 20번 할 예정이다. 규환이는 게임을 시작하기 전 자신의 그동안 승률을 통해 자신이 브론즈, 실버, 골드, 플래티넘, 다이아에 갈 확률이 몇 퍼센트인지 궁금해졌다. 게임을 이길 경우 얻는 포인트는 50 Point, 질 경우 잃는 포인트도 50 Point, 비길 경우 Point의 변화는 없다. 랭크 점수에 따른 티어는 아래와 같다. 브론즈: 1000~149 www.acmicpc.net 풀이 조합(!)을 이용하여 확률을 계산하려 했으나. 오버플로우 문제를 생각안하고 (안푼지 오래되서 전혀 생각을 못함) 그냥..
백준 1038 링크 https://www.acmicpc.net/problem/1038 1038번: 감소하는 수 음이 아닌 정수 X의 자릿수가 가장 큰 자릿수부터 작은 자릿수까지 감소한다면, 그 수를 감소하는 수라고 한다. 예를 들어, 321과 950은 감소하는 수지만, 322와 958은 아니다. N번째 감소하는 수를 출력하는 프로그램을 작성하시오. 0은 0번째 감소하는 수이고, 1은 1번째 감소하는 수이다. 만약 N번째 감소하는 수가 없다면 -1을 출력한다. www.acmicpc.net 풀이 처음엔 DP를 이용하여 규칙성을 발견해서 풀려고 시도해 특정 구간까지 DP로 도달해서 브루트포스로 도달하는 방법을 시도해 보았지만 시간초과가 났고, 생각하던중 큐를 이용하여 푸는 방법을 생각해 내서 풀었음. 예를 들..
백준 17141 링크 https://www.acmicpc.net/problem/17141 17141번: 연구소 2 인체에 치명적인 바이러스를 연구하던 연구소에 승원이가 침입했고, 바이러스를 유출하려고 한다. 승원이는 연구소의 특정 위치에 바이러스 M개를 놓을 것이고, 승원이의 신호와 동시에 바이러스는 퍼지게 된다. 연구소는 크기가 N×N인 정사각형으로 나타낼 수 있으며, 정사각형은 1×1 크기의 정사각형으로 나누어져 있다. 연구소는 빈 칸, 벽으로 이루어져 있으며, 벽은 칸 하나를 가득 차지한다. 일부 빈 칸은 바이러스를 놓을 수 있는 칸이다. 바이러스는 상하좌우로 www.acmicpc.net 풀이 순열을 이용해서 바이러스를 배치하는 경우의 수를 갈라주고 따지고 각각의 경우에서 BFS를 돌려주면 끝?(아..
백준 6186 링크 https://www.acmicpc.net/problem/6186 6186번: Best Grass Bessie is planning her day of munching tender spring grass and is gazing out upon the pasture which Farmer John has so lovingly partitioned into a grid with R (1
백준 13549 링크 https://www.acmicpc.net/problem/13549 풀이 bfs를 쓰면 됩니다. queue보다 deque가 속도가 더 빠른거같네요. 꽤 차이가 납니다. 코드 from collections import deque input = __import__('sys').stdin.readline n,m = map(int, input().split()) chaser = [float("inf") for _ in range(100001)] q = deque([(n,0)]) while q: now,moved=q.popleft() if chaser[now]>moved: chaser[now]=moved for i in [now+1,now-1]: if 0