목록boj (341)
넘치게 채우기
https://www.acmicpc.net/problem/17089BOJ - 세 친구문제 유형: 브루트 포스, 그래프, 정렬문제 난이도: Gold V시간 제한: 2초메모리 제한: 512MB 문제N명의 사람이 있고, 여기서 세 사람 A, B, C를 고르려고 한다. 세 사람은 모두 친구여야 한다.세 사람을 고르는 방법은 매우 많이 있을 수 있다. 이때, A의 친구 수 + B의 친구 수 + C의 친구 수가 최소가 되어야 한다. 친구 수의 합을 계산할 때, 세 사람은 빼고 계산해야 한다. 즉, A의 친구 수를 계산할 때, B와 C는 빼고 계산해야 하고, B의 친구 수를 계산할 때는 A와 C, C의 친구 수를 계산할 때는 A와 B를 빼고 계산해야 한다. 입력첫째 줄에 사람의 수 N(3 ≤ N ≤ 4,000), 친..
https://www.acmicpc.net/problem/20327BOJ - 배열 돌리기 6문제 유형: 구현, 시뮬레이션문제 난이도: Gold II시간 제한: 1초메모리 제한: 512MB 문제크기가 2N×2N인 배열이 있을 때, 배열에 연산을 R번 적용하려고 한다. 연산은 8가지가 있고, 연산에는 단계 ℓ (0 ≤ ℓ 1번 연산은 각 부분 배열을 상하 반전시키는 연산이다.2번 연산은 각 부분 배열을 좌우 반전시키는 연산이다.3번 연산은 각 부분 배열을 오른쪽으로 90도 회전시키는 연산이다.4번 연산은 각 부분 배열을 왼쪽으로 90도 회전시키는 연산이다.5, 6, 7, 8번 연산은 부분 배열을 한 칸으로 생각하고 적용시킨다. 즉, 부분 배열의 안에 있는 값은 변하지 않는다.5번 연산은 배열을 상하 반전시..
https://www.acmicpc.net/problem/1241BOJ - 머리 톡톡문제 유형: 수학, 정수론문제 난이도: Gold V시간 제한: 2초메모리 제한: 128MB 문제엄지 생일 기념으로 학생들은 파티를 하고 있다. 엄지는 N(1≤N≤100,000)명의 학생에게 1부터 N번까지 차례대로 번호를 부여하였고 그들을 순서대로 빙 둘러앉아 원을 만들게 하였다. (즉 i번째 학생은 i-1과 i+1학생 사이에 앉아있다. 단, N번째 학생은 N-1번째 학생과 첫 번째 학생 사이에 앉아있다.)N명의 학생은 둘러앉아 "머리톡톡" 게임을 하려한다. 게임 규칙은 다음과 같다. 각각의 학생은 자신의 머리 위에 1,000,000 이하의 자연수 중 하나를 쓴다. 그리고 1번부터 N번 학생까지 한 명씩 차례대로 일어나 ..
https://www.acmicpc.net/problem/1360BOJ - 되돌리기문제 유형: 구현, 문자열 처리문제 난이도: Gold V시간 제한: 2초메모리 제한: 128MB 문제민식이는 다음과 같이 두 개의 명령만 지원하는 새로운 텍스트 에디터를 만들었다.“type c" : 현재 글의 가장 뒤에 문자 c를 추가한다.“undo t" : 이전 t초동안 수행된 작업을 역순으로 되돌린다.처음 텍스트 에디터는 비어있다.예를 들어, 다음과 같은 명령을 진행했다고 하자.1초 : type a2초 : type b3초 : type c5초 : undo 33초가 끝날 때, 텍스트는 "abc"이다. 5초때, 이전 3초동안 한 작업을 역순으로 되돌려야 한다. c는 지워지고, b도 지워질 것이다. 따라서 a만 남는다.되돌리기..
https://www.acmicpc.net/problem/17490BOJ - 일감호에 다리 놓기문제 유형: 분리 집합, 그래프, 그리디문제 난이도: Gold III시간 제한: 2초메모리 제한: 256MB 문제학교의 홍보대사를 맡게 된 건덕이는 건국대학교의 모든 강의동을 신입생들에게 소개해야 한다.건국대학교 중앙에 위치한 일감호를 따라 한 바퀴를 돌며 모든 강의동을 소개하는 것이 그의 일이지만, 몇몇 구간들이 공사 중이어서 그 구간을 통해서는 갈 수 없는 상황이다. 급한대로 건덕이는 호수에 돌을 던져 징검다리를 놓아 길을 만들어보려고 한다.강의동은 일감호의 둘레에 따라 원형으로 배치돼 있으며, 강의동 양 옆의 강의동은 서로 이웃한다. 또, 원형으로 배치돼 있기 때문에 N개의 강의동이 있다면 N번째 강의동과..
https://www.acmicpc.net/problem/1334BOJ - 다음 팰린드롬 수문제 유형: 문자열 처리, 구현, 조건분기문제 난이도: Gold V시간 제한: 1초메모리 제한: 128MB 문제팰린드롬 수는 앞으로 읽어도, 뒤로 읽어도 같은 숫자이다. 101, 4, 6666와 같은 숫자는 팰린드롬 수이고, 10, 564, 15452와 같은 숫자는 아니다.어떤 수 N이 주어질 때, N보다 큰 팰린드롬 수 중에서 가장 작은 수를 출력한다. 입력첫째 줄에 N이 주어진다. N은 최대 50자리인 양의 정수이다. 첫 숫자는 0이 아니다. 출력첫째 줄에 문제의 정답을 출력한다. 풀이만약 n의길이가 1이라면, +1한것을 출력하면 끝이다.(예외: 9는 11을 출력) n의 길이가 홀수인 경우:우선, 왼쪽 절반 p..
https://www.acmicpc.net/problem/2737 BOJ - 연속 합문제 유형: 수학, 정수론문제 난이도: Gold III시간 제한: 1초메모리 제한: 128MB 문제대부분의 양의 정수는 적어도 2개 이상의 연속된 자연수의 합으로 나타낼 수 있다.예를 들면 다음과 같다.6 = 1 + 2 + 39 = 5 + 4 = 4 + 3 + 2하지만, 8은 연속된 자연수 합으로 나타낼 수가 없다.자연수 N이 주어졌을 때, 이 수를 적어도 2개 이상의 연속된 자연수의 합으로 나타낼 수 있는 경우의 수를 출력하시오. 입력첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 정수 하나로 이루어져 있다. 이 정수는 문제에서 설명한 N이며, 231보다 작다. 출력각 테스트 케이스에 대해서 N을 적..
https://www.acmicpc.net/problem/14926 BOJ - Not Equal문제 유형: 오일러 경로, 그래프, dfs, 그리디, 백트래킹문제 난이도: Gold V시간 제한: 1초메모리 제한: 512MB 문제주어진 N개의 수가 모두 서로 다르다는 것은 기호 "!="를 통해 하나의 식으로 표현할 수 있다. 예를 들어 A, B, C가 모두 서로 다르다는 것은 논리식으로 (A != B) && (B != C) && (C != A) 로 쓸 수 있고, 이를 다음과 같이 한 줄로 표현하는 것을 A, B, C에 대한 "한 줄 표기법"이라고 부르기로 하자.A != B != C != A하지만 5개의 수 A, B, C, D, E가 모두 서로 다르다는 것을 다음처럼 표현하는 것은 올바른 한 줄 표기법이 아니..
https://www.acmicpc.net/problem/1507BOJ - 궁금한 민호문제 유형: 그래프, 최단경로, 플로이드-워셜문제 난이도: Gold II시간 제한: 2초메모리 제한: 128MB 문제강호는 N개의 도시로 이루어진 나라에 살고 있다. 각 도시는 M개의 도로로 연결되어 있으며, 각 도로를 지날 때 필요한 시간이 존재한다. 도로는 잘 연결되어 있기 때문에, 도시 A에서 B로 이동할 수 없는 경우는 존재하지 않는다.도시 A에서 도시 B로 바로 갈 수 있는 도로가 있거나, 다른 도시를 거쳐서 갈 수 있을 때, 도시 A에서 B를 갈 수 있다고 한다.강호는 모든 쌍의 도시에 대해서 최소 이동 시간을 구해놓았다. 민호는 이 표를 보고 원래 도로가 몇 개 있는지를 구해보려고 한다.예를 들어, 예제의 ..
https://www.acmicpc.net/problem/17501BOJ - 수식 트리문제 유형: 트리, 그래프, 그리디, 정렬문제 난이도: Gold II시간 제한: 1초메모리 제한: 256MB 문제수식 트리는 루트가 있는 이진 트리로 2N-1개의 노드가 있습니다. 1번부터 N번까지 노드는 피연산자 노드이며 다른 노드들은 연산자 노드이고 2N-1번 노드가 루트입니다.연산자 노드는 항상 두 개의 자식 노드를 가지며 연산자로 '+' 또는 '-' 를 가집니다.피연산자 노드는 아무 자식도 가지지 않고 하나의 정수를 가집니다.수식 트리의 계산은 다음과 같이 진행됩니다.2개의 피연산자 노드를 자식으로 가지는 연산자 노드를 하나 선택합니다.해당 노드의 연산자가 '+' 인 경우, 연산자 노드를 피연산자 노드로 바꾸고 ..