목록시뮬레이션 (44)
어흥
문제 링크: www.acmicpc.net/problem/19238 19238번: 스타트 택시 첫 줄에 N, M, 그리고 초기 연료의 양이 주어진다. (2 ≤ N ≤ 20, 1 ≤ M ≤ N2, 1 ≤ 초기 연료 ≤ 500,000) 연료는 무한히 많이 담을 수 있기 때문에, 초기 연료의 양을 넘어서 충전될 수도 있다. 다 www.acmicpc.net 1. 주의할 점 - 변수들을 헷갈리지 않도록 한다 - 초기화를 잘 처리해준다 - 특정 조건에 맞는 우선순위 큐를 사용하여 다음으로 태울 손님을 구한다 2. 구현 - 길에 대한 정보를 Arr[][] 함수에 저장한다 - 손님의 시작위치, 도착지점 위치를 P[][4] 배열에 담는다 - Need_fuel[] 배열에 대한 초기화를 수행한다. 해당 배열은 손님의 탑승위치..
문제 링크: www.acmicpc.net/problem/19236 19236번: 청소년 상어 첫째 줄부터 4개의 줄에 각 칸의 들어있는 물고기의 정보가 1번 행부터 순서대로 주어진다. 물고기의 정보는 두 정수 ai, bi로 이루어져 있고, ai는 물고기의 번호, bi는 방향을 의미한다. 방향 bi는 www.acmicpc.net 1. 주의할 점 - DFS를 통해 수행하므로, 갱신 + 원복을 잘 처리해야 한다 - 처리해야 하는 변수가 많아 헷갈릴 수 있으니 잘 정리하고 시작한다 2. 구현 - 8방향 탐색을 원활하게 처리하기 위해, 입력받을 때 각 물고기의 방향-1값을 저장한다 - 물고기의 정보를 Fish[]구조체에 담는다. 구조체는 행, 열, 진행방향으로 구성되어있다 - 현재 물고기의 위치는 Arr[][] ..
문제 링크: www.acmicpc.net/problem/20005 20005번: 보스몬스터 전리품 입력의 첫째 줄에는 멤멤월드의 지도의 크기를 나타내는 두 정수 M(6 ≤ M ≤ 1000), N(6 ≤ N ≤ 1000)과 플레이어의 수 P(1 ≤ P ≤ 26)가 주어진다. M은 지도의 세로 길이, N은 지도의 가로 길이이다. 입 www.acmicpc.net 1. 주의할 점 - AC가 나와도 필요없는 작업은 하지 않도록 노력한다(Ex. '각 플레이어->보스까지의 거리' 대신 보스->각 플레이어까지의 거리) - 보스가 플레이어에게 도달해도 4방향 이동은 이어서 한다 2. 구현 - 2가지의 방법으로 풀었다(단, BFS의 방법은 같다) (0) 공통(BFS) - 보스를 위치를 기준으로 큐에 담아서 각 플레이어까지..
문제 링크: www.acmicpc.net/problem/2116 2116번: 주사위 쌓기 첫줄에는 주사위의 개수가 입력된다. 그 다음 줄부터는 한 줄에 하나씩 주사위의 종류가 1번 주사위부터 주사위 번호 순서대로 입력된다. 주사위의 종류는 각 면에 적혀진 숫자가 그림1에 있는 www.acmicpc.net 1. 주의할 점 - 특정 면이 윗면일때(반대편도 동일) 옆면에 적힌 숫자의 값 중에서 최대값을 Maxi[][]에 저장해놓는다 - 가장 아래층이 정해지면 위는 경우의 수가 1가지 뿐이다(옆면의 최대값을 미리 구했기 때문) 2. 구현 - 주사위에 대한 정보를 Dice[] 벡터에 입력받는다 - 각 주사위 면이 윗면일때 옆면의 최대값을 Maxi[i번쨰 주사위][j번째 면(반대편 포함)]에 저장한다 - 가장 아래..
문제 링크: swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV6c6bgaIuoDFAXy SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 1. 주의할 점 - 조건이 많다 - 초기화를 잘 해준다 - 순서대로 처리한다(새로운 손님 도착? -> 접수 창구 비었는가? -> 대기 창구로 이동 가능? -> 수리 창구 비었는가? -> 끝났는가?) 2. 구현 - 사람들에 대한 정보는 바로 Queue에 넣는다 - 창구 직원들에 대한 정보는 Info2 구조체(pidx: 손님번호, needTime: 처리하는데 소요되는 시간, remain: 처리되기까지 남..
문제 링크: https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5V4A46AdIDFAWu SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 1. 주의할 점 - 두 일꾼이 같은 선택된 벌꿀통을 고르면 안된다 - 각 칸을 기준으로 최대 M칸까지 오른쪽으로 골랐을때의 최대 가중치를 저장한다 2. 구현 - Check[][] 배열을 false로 초기화시켜서 같은 벌꿀통을 고르지 않도록 확인하기 위해 false로 전부 초기화한다 - DFS() 사용하여 해당 칸을 골랐을 때 기준으로 최대값을 (가중치의 내림차순 순서로 정의)우선순위큐에..
문제 링크: https://www.acmicpc.net/problem/17780 17780번: 새로운 게임 재현이는 주변을 살펴보던 중 체스판과 말을 이용해서 새로운 게임을 만들기로 했다. 새로운 게임은 크기가 N×N인 체스판에서 진행되고, 사용하는 말의 개수는 K개이다. 말은 원판모양이고, 하� www.acmicpc.net 새로운 게임 2 풀이: https://imnotabear.tistory.com/214 [백준 17837] 새로운 게임 2 (C++) 문제 링크: https://www.acmicpc.net/problem/17837 17837번: 새로운 게임 2 재현이는 주변을 살펴보던 중 체스판과 말을 이용해서 새로운 게임을 만들기로 했다. 새로운 게임은 크기가 N×N인 체스판에서 진행 imnotab..
문제 링크: https://www.acmicpc.net/problem/17825 17825번: 주사위 윷놀이 첫째 줄에 주사위에서 나올 수 10개가 순서대로 주어진다. www.acmicpc.net 1. 주의할 점 - 이동하려는 칸에 다른 플레이어의 말이 있으면 그 판은 무효로 한다 - 1번이 10번 다 이동하는거랑 2~4번이 10번 다 이동하는것은 같다. 이것을 따로 처리해주자(스터디원 曰: 실제 시험에서는 이거 처리 안하면 TLE로 통과 못했다고 한다) - 윷놀이 점수판을 따로 배열로 만든다 2. 구현 - 주사위의 정보를 입력받고 DFS()를 수행하며 어떤 플레이어가 움직일건지 정한다 - DFS()를 수행하면서 위의 빨간글씨 조건을 처리하기 위해 For문에선 i: 0~Min(cnt+1,4)로 설정했다...