목록전체 글 (1206)
넘치게 채우기
https://www.acmicpc.net/problem/2224BOJ - 명제 증명문제 유형: 플로이드-워셜, 문자열 처리문제 난이도: Gold IV시간 제한: 2초메모리 제한: 128MB 문제수학, 혹은 논리학에서 만약 무엇 이라면 뭣 일 것이다 하는 식의 명제가 널리 쓰인다. 예를 들어 "P이면 Q일 것이다." 라는 명제는 “P => Q” 라는 기호로 표현된다. 이때의 P를 전건, Q를 후건이라고 한다.논리학에서 어떤 명제를 증명할 때 가장 널리 쓰이는 방법 중 한 가지가 바로 삼단 논법이다. 만약 두 명제 “P => Q", "Q => R" 가 모두 참이면, 명제 "P => R"이 역시 참이 된다. 이러한 방법을 사용했을 때 명제 ”P => R"이 증명되었다고 한다.어떤 참인 명제가 주어졌을 때, ..
https://www.acmicpc.net/problem/17619 BOJ - 개구리 점프문제 유형: 분리 집합, 유니온 파인드, 정렬문제 난이도: Gold III시간 제한: 1초메모리 제한: 512MB 문제통나무 N개가 가로 (수평) 방향으로 연못에 떠 있다. 개구리는 한 통나무 A에서 다른 통나무 B로 정확히 수직 방향으로 점프할 수 있다. 단, 점프할 때 다른 통나무 위를 (끝 점 포함) 지나면 안된다.예를 들어 에서 1번 통나무에서 2번 통나무로 점선을 따라 개구리가 점프하는 것이 가능하다. 1번 통나무에서 2번 통나무로 점프한 후 다시 3번 통나무로 점프하면 1번 통나무에서 3번 통나무로 이동하는 것이 가능하다. (통나무 위에서 걸어서 움직이는 것은 언제든 가능하다.) 통나무들의 위치를 입력받아..
https://www.acmicpc.net/problem/20168BOJ - 골목 대장 호석 - 기능성문제 유형: 그래프, 최단경로, 브루트 포스문제 난이도: Gold V시간 제한: 3초메모리 제한: 512MB 문제소싯적 호석이는 골목 대장의 삶을 살았다. 호석이가 살던 마을은 N 개의 교차로와 M 개의 골목이 있었다. 교차로의 번호는 1번부터 N 번까지로 표현한다. 골목은 서로 다른 두 교차로를 양방향으로 이어주며 임의의 두 교차로를 잇는 골목은 최대 한 개만 존재한다. 분신술을 쓰는 호석이는 모든 골목에 자신의 분신을 두었고, 골목마다 통과하는 사람에게 수금할 것이다. 수금하는 요금은 골목마다 다를 수 있다.당신은 A 번 교차로에서 B 번 교차로까지 C 원을 가지고 가려고 한다. 호석이의 횡포를 보며..
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을 적..