본문 바로가기

BOJ89

백준 알고리즘 7576 (토마토) - C++, Python [문제] 백준 알고리즘 7576 (토마토) > https://www.acmicpc.net/problem/7576 7576번: 토마토 첫 줄에는 상자의 크기를 나타내는 두 정수 M,N이 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M,N ≤ 1,000 이다. 둘째 줄부터는 하나의 상자에 저장된 토마토들의 정보가 주어진다. 즉, 둘째 줄부터 N개의 줄에는 상자에 담긴 토마토의 정보가 주어진다. 하나의 줄에는 상자 가로줄에 들어있는 토마토의 상태가 M개의 정수로 주어진다. 정수 1은 익은 토마토, 정수 0은 익지 않은 토마토, 정수 -1은 토마 www.acmicpc.net 상자의 크기 N, M이 주어지고, Map이 주어진다. 1은 토마토, 0은 안익은 토마토, -.. 2019. 10. 16.
백준 알고리즘 1504 (특정한 최단 경로) - C++, Python [문제] 백준 알고리즘 1504 (특정한 최단 경로) > https://www.acmicpc.net/problem/1504 1504번: 특정한 최단 경로 첫째 줄에 정점의 개수 N과 간선의 개수 E가 주어진다. (2 ≤ N ≤ 800, 0 ≤ E ≤ 200,000) 둘째 줄부터 E개의 줄에 걸쳐서 세 개의 정수 a, b, c가 주어지는데, a번 정점에서 b번 정점까지 양방향 길이 존재하며, 그 거리가 c라는 뜻이다. (1 ≤ c ≤ 1,000) 다음 줄에는 반드시 거쳐야 하는 두 개의 서로 다른 정점 번호가 주어진다. www.acmicpc.net 정점 N개, 간선 E개가 주어지고, E개의 줄에 걸쳐 a, b, c가 주어진다. 그리고 두 개의 지나야할 정점이 주어진다. 1 -> 두 정점 -> N으로 이동하.. 2019. 10. 16.
백준 알고리즘 2178 (미로 탐색) - C++, Python [문제] 백준 알고리즘 2178 (미로 탐색) > https://www.acmicpc.net/problem/2178 2178번: 미로 탐색 첫째 줄에 두 정수 N, M(2 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 M개의 정수로 미로가 주어진다. 각각의 수들은 붙어서 입력으로 주어진다. www.acmicpc.net 전형적인 BFS 미로탐색 문제이다. 그래서 Queue와 while문, 방문 여부를 활용한다. 매번 느끼는 거지만, C++은 압도적으로 빠르다..... 1. N, M, 미로 Map을 받는다. 2. (0,0)부터 움직이며 다음 nx, ny가 범위를 벗어나지 않는지 확인 3. Map에 값이 0이 아니고 방문하지 않았으면, Map에 이전 값을 누적한다. 4. 동시에 queue에 appe.. 2019. 10. 16.
백준 알고리즘 1753 (최단경로) - C++, Python [문제] 백준 알고리즘 1753 (최단경로) > https://www.acmicpc.net/problem/1753 1753번: 최단경로 첫째 줄에 정점의 개수 V와 간선의 개수 E가 주어진다. (1≤V≤20,000, 1≤E≤300,000) 모든 정점에는 1부터 V까지 번호가 매겨져 있다고 가정한다. 둘째 줄에는 시작 정점의 번호 K(1≤K≤V)가 주어진다. 셋째 줄부터 E개의 줄에 걸쳐 각 간선을 나타내는 세 개의 정수 (u, v, w)가 순서대로 주어진다. 이는 u에서 v로 가는 가중치 w인 간선이 존재한다는 뜻이다. u와 v는 서로 다르며 w는 10 이하의 자연수이다. 서로 다른 두 www.acmicpc.net 정점 V개와 간선 E개가 주어지고, 시작 정점이 주어진다. E개의 줄에 걸쳐 간선 u ->.. 2019. 10. 16.
백준 알고리즘 1436 (영화감독 숌) - C++, Python [문제] 백준 알고리즘 1436 (영화감독 숌) > https://www.acmicpc.net/problem/1436 1436번: 영화감독 숌 666은 종말을 나타내는 숫자라고 한다. 따라서, 많은 블록버스터 영화에서는 666이 들어간 제목을 많이 사용한다. 영화감독 숌은 세상의 종말 이라는 시리즈 영화의 감독이다. 조지 루카스는 스타워즈를 만들 때, 스타워즈 1, 스타워즈 2, 스타워즈 3, 스타워즈 4, 스타워즈 5, 스타워즈 6과 같이 이름을 지었고, 피터 잭슨은 반지의 제왕을 만들 때, 반지의 제왕 1, 반지의 제왕 2, 반지의 제왕 3과 같이 영화 제목을 지었다. 하지만 숌은 자신이 조 www.acmicpc.net 666부터 6이 연속으로 3번 나오는 N번째 수를 찾는 문제이다. 브루트 포스 문.. 2019. 10. 16.
백준 알고리즘 1012 (유기농 배추) - C++, Python [문제] 백준 알고리즘 1012 (유기농 배추) > https://www.acmicpc.net/problem/1012 1012번: 유기농 배추 차세대 영농인 한나는 강원도 고랭지에서 유기농 배추를 재배하기로 하였다. 농약을 쓰지 않고 배추를 재배하려면 배추를 해충으로부터 보호하는 것이 중요하기 때문에, 한나는 해충 방지에 효과적인 배추흰지렁이를 구입하기로 결심한다. 이 지렁이는 배추근처에 서식하며 해충을 잡아 먹음으로써 배추를 보호한다. 특히, 어떤 배추에 배추흰지렁이가 한 마리라도 살고 있으면 이 지렁이는 인접한 다른 배추로 이동할 수 있어, 그 배추들 역시 해충으로부터 보호받을 수 있다. ( www.acmicpc.net 2667번 단지번호붙이기와 비슷하다. (지난 풀이) > https://wlstyq.. 2019. 10. 16.
백준 알고리즘 1002 (터렛) - C++, Python [문제] 백준 알고리즘 1002 (터렛) > https://www.acmicpc.net/problem/1002 1002번: 터렛 각 테스트 케이스마다 류재명이 있을 수 있는 위치의 수를 출력한다. 만약 류재명이 있을 수 있는 위치의 개수가 무한대일 경우에는 -1을 출력한다. www.acmicpc.net 원의 중심 (x1, y1)과 반지름 r1, 원의 중심 (x2, y2)과 반지름 r2가 주어진다. 두 개의 원이 겹치는 접점의 갯수를 출력하는 문제이다. 두 개의 원이 점점 다가가는 순서로 표현을 해보면, 아래의 6가지 방식이 될 것 같다. 1. 멀리 떨어져 있음 2. 1개의 접점 3. 2개의 접점 4. 내부 1개의 접점 5. 내부에서 안 겹침 6. 아예 같음 이러한 경우의 수를 (x1, y1), (x2, .. 2019. 10. 16.
백준 알고리즘 2667 (단지번호붙이기) - C++, Python [문제] 백준 알고리즘 2667 (단지번호붙이기) > https://www.acmicpc.net/problem/2667 2667번: 단지번호붙이기 과 같이 정사각형 모양의 지도가 있다. 1은 집이 있는 곳을, 0은 집이 없는 곳을 나타낸다. 철수는 이 지도를 가지고 연결된 집들의 모임인 단지를 정의하고, 단지에 번호를 붙이려 한다. 여기서 연결되었다는 것은 어떤 집이 좌우, 혹은 아래위로 다른 집이 있는 경우를 말한다. 대각선상에 집이 있는 경우는 연결된 것이 아니다. 는 을 단지별로 번호를 붙인 것이다. 지도를 입력하여 단지수를 출력하고, 각 단지에 속하는 집의 수 www.acmicpc.net N x N 배열에 0 또는 1의 숫자가 적혀있다. 여기서, 1이 상하좌우로 붙어있는 무리의 갯수를 출력하는 문.. 2019. 10. 16.
백준 알고리즘 3053 (택시 기하학) - C++, Python [문제] 백준 알고리즘 3053 (택시 기하학) > https://www.acmicpc.net/problem/3053 3053번: 택시 기하학 문제 19세기 독일 수학자 헤르만 민코프스키는 비유클리드 기하학 중 택시 기하학을 고안했다. 택시 기하학에서 두 점 T1(x1,y1), T2(x2,y2) 사이의 거리는 다음과 같이 구할 수 있다. D(T1,T2) = |x1-x2| + |y1-y2| 두 점 사이의 거리를 제외한 나머지 정의는 유클리드 기하학에서의 정의와 같다. 따라서 택시 기하학에서 원의 정의는 유클리드 기하학에서 원의 정의와 같다. 원: 평면 상의 어떤 점에서 거리가 일정한 점들의 집합 www.acmicpc.net R을 받아와서 유클리드 기하학과 택시 기하학의 원 넓이를 소수점 6자리까지 출력. .. 2019. 10. 16.
728x90