일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- C++
- C
- boj 연구소3
- boj 3190
- 알고리즘
- 백준 17779
- 연구소3
- 시뮬레이션
- BOJ
- BOJ 17142
- boj 15685
- 백준 인구 이동
- simulation
- dfs
- 브루트포스
- 로봇 시뮬레이션
- 삼성문제
- 백준 뱀
- 삼성 문제
- 완전탐색
- 백준 게리맨더링 2
- 백준2174
- 구현
- boj 16234
- 백준 3190
- 헷갈리는 용어
- 백준 로봇 시뮬레이션
- 백준 16234
- 백준 연구소3
- Bruteforce
- Today
- Total
목록simulation (4)
나의 공부장
문제의 링크 : https://www.acmicpc.net/problem/3190 3190번: 뱀 문제 'Dummy' 라는 도스게임이 있다. 이 게임에는 뱀이 나와서 기어다니는데, 사과를 먹으면 뱀 길이가 늘어난다. 뱀이 이리저리 기어다니다가 벽 또는 자기자신의 몸과 부딪히면 게임이 끝난다. www.acmicpc.net 문제 풀이 문제 유형 : Simulation 뱀이 늘어나고 줄어드는 것을 deque 자료구조를 이용해서 구현했습니다. 뱀이 꼬리가 줄어들면 deque의 앞에서 삭제하고, 뱀의 머리가 늘어나면 deque의 뒤에 추가하는 방법입니다. 천천히 시뮬레이션을 생각해봅시다. 뱀이 (1, 1) 동쪽에서 시작합니다. 뱀이 한 칸을 먼저 전진한다고 가정하고 사과가 있는지 없는지 판단합니다. i) 거기에 ..
문제 링크 : https://www.acmicpc.net/problem/17779 17779번: 게리맨더링 2 재현시의 시장 구재현은 지난 몇 년간 게리맨더링을 통해서 자신의 당에게 유리하게 선거구를 획정했다. 견제할 권력이 없어진 구재현은 권력을 매우 부당하게 행사했고, 심지어는 시의 이름�� www.acmicpc.net 문제 풀이 처음에는 문제가 간단하면서도 복잡하다는 생각이 들어서, 예제를 따라 그리다 보니까 문제가 이해가 됐습니다. (문제 이해가 빠르면 더 시간을 단축할 수도!) 가장 중요한 것은 (x, y, d1, d2)를 정하는 것입니다. 정하고 나서 제5구역을 미리 먼저 만들고, 나머지 1 ~ 4 구역을 문제에서 제시한 범위에 따라 그려줍니다. 다 그려줬다면, 각 구역에 따라 합을 계산해서 ..
문제 링크: https://www.acmicpc.net/problem/15685 15685번: 드래곤 커브 첫째 줄에 드래곤 커브의 개수 N(1 ≤ N ≤ 20)이 주어진다. 둘째 줄부터 N개의 줄에는 드래곤 커브의 정보가 주어진다. 드래곤 커브의 정보는 네 정수 x, y, d, g로 이루어져 있다. x와 y는 드래곤 커� www.acmicpc.net 문제 풀이 간단하게 정리해보면, 1. 입력을 받는다. 2. 입력받은 (x, y, d, g)에 맞는 드래곤 커브를 만든다. 3. 모든 드래곤 커브를 만든 후, 답을 구한다. 1번은 쉽고, 2번이랑 3번은 고민을 해봐야 합니다. 입력을 받은 (x, y, d, g)를 어떻게 하면 드래곤 커브를 그릴 수 있을까?를 고민해보면 다음과 같습니다. 만약에 g가 0으로 ..
문제 링크: https://www.acmicpc.net/problem/2174 2174번: 로봇 시뮬레이션 문제 가로 A(1≤A≤100), 세로 B(1≤B≤100) 크기의 땅이 있다. 이 땅 위에 로봇들이 N(1≤N≤100)개 있다. 로봇들의 초기 위치는 x좌표와 y좌표로 나타난다. 위의 그림에서 보듯 x좌표는 왼쪽부터, y좌표 www.acmicpc.net 문제 풀이 기존에 풀던 (x, y) 좌표와는 살짝 달라서 헷갈릴 수 있지만, 문제의 설명대로 따라서 구현하면 됩니다. x좌표는 왼쪽에서 오른쪽으로 가면 증가하고 y좌표는 아래에서 위로 올라가면 증가합니다. 로봇의 상태를 구조체로 만들어서 벡터로 보관해서, 그 이후에 명령을 하나씩 실행하면서 그에 따른 구현을 해주면 됩니다. 따로 visited라는 2차..