알고리즘/백준
-
백준 3190) 뱀 (골드.4)알고리즘/백준 2022. 7. 13. 23:10
https://www.acmicpc.net/problem/3190 3190번: 뱀 'Dummy' 라는 도스게임이 있다. 이 게임에는 뱀이 나와서 기어다니는데, 사과를 먹으면 뱀 길이가 늘어난다. 뱀이 이리저리 기어다니다가 벽 또는 자기자신의 몸과 부딪히면 게임이 끝난다. 게임 www.acmicpc.net 시뮬레이션 문제로 조건에 따라 이동시키는 문제이다. 조건을 확인하면 다음과 같다. 1) 뱀은 0, 0 위치에서 시작하여 처음엔 오른쪽으로 이동한다. 2) 방향조건이 D일 경우 오른쪽, L일 경우 왼쪽으로 이동한다. 3) 시간조건은 처음 이동을 시작할 때부터 방향을 바꿀때 까지의 시간을 나타낸다. 4) 이동할 칸에 사과가 있으면 뱀의 꼬리는 줄어들지 않는다. 5) 이동할 칸에 사과가 없으면 뱀의 꼬리는 한..
-
백준 14499) 주사위 굴리기 (골드.4)알고리즘/백준 2022. 7. 13. 22:56
https://www.acmicpc.net/problem/14499 14499번: 주사위 굴리기 첫째 줄에 지도의 세로 크기 N, 가로 크기 M (1 ≤ N, M ≤ 20), 주사위를 놓은 곳의 좌표 x, y(0 ≤ x ≤ N-1, 0 ≤ y ≤ M-1), 그리고 명령의 개수 K (1 ≤ K ≤ 1,000)가 주어진다. 둘째 줄부터 N개의 줄에 지 www.acmicpc.net 단순 구현의 문제라고 생각하고 문제에 주어진 주사위 모양을 참고하여 구현하였다. 조건을 확인하면 다음과 같다. 1) 이동 방향이 동서북남 2) 지도상 좌표의 숫자가 0일 경우 이동한 주사위의 밑면의 숫자를 복사할 것 3) 지도상 좌표의 숫자가 0이 아닐 경우 주사위 밑면에 지도상의 숫자를 복사하고 지도상 좌표의 수는 0으로 만들 것..
-
백준 1956번)브루트포스- 분해합알고리즘/백준 2021. 8. 16. 11:06
https://www.acmicpc.net/problem/2231 2231번: 분해합 어떤 자연수 N이 있을 때, 그 자연수 N의 분해합은 N과 N을 이루는 각 자리수의 합을 의미한다. 어떤 자연수 M의 분해합이 N인 경우, M을 N의 생성자라 한다. 예를 들어, 245의 분해합은 256(=245+2+4+5)이 www.acmicpc.net 자연수 n이 주어질때, n =m+ m각자릿수의 합이 이루어질 때, m 은 n의 생성자, n은 m의 분해합이다. 생성자를 구하는 문제였다. 가장 작은 생성자를 구하는 문제로, 1부터 n까지 실행해서 가장 작은 생성자가 나오면 Break하도록 하였다. 각자릿수의 합을 구할때, while문의 /100...의 형식이 아닌 list sum을 이용하자! n = int(input(..
-
백준 1956번) 최단경로 - 운동알고리즘/백준 2021. 1. 29. 21:05
최단경로 찾기 문제에서 간선에 음수가 있다면 벨만 포드, 양수만 존재한다면 다익스트라, 양수중에서도 특정 구역을 거쳐서 지나간다면 플로이드 워셜 방법을 쓰도록 한다. 이 문제는 같은곳에서 출발하여 같은 곳으로 돌아온다는 것을 유의한다. #include #include #include #include #define INF 1e9 using namespace std; int n, m; int graph[401][401]; int main() { cin >> n >> m; for (int i = 0; i > a ..
-
백준 1904번) 동적계획법 1 - 01.타일알고리즘/백준 2021. 1. 29. 21:03
이코테에 있던 문제와 매우 유사한 문제. #include #include #include #include #define INF 1e9 using namespace std; int d[1000001]; int n; int main() { cin >> n; d[0] = 0; d[1] = 1; d[2] = 2; d[3] = 3; for (int i = 4; i < n + 1; i++) { d[i] = (d[i - 2] * 2 + d[i - 3]) % 15746; } cout