목록알고리즘 (96)
DY N DY
LCS 성공문제집 시간 제한메모리 제한제출정답맞은 사람정답 비율1 초128 MB208493266142.728%문제LCS(Longest Common Subsequence, 최장 공통 부분 수열)문제는 두 수열이 주어졌을 때, 모두의 부분 수열이 되는 수열 중 가장 긴 것을 찾는 문제이다.예를 들어, ACAYKP와 CAPCAK의 LCS는 ACAK가 된다.입력첫째 줄과 둘째 줄에 두 문자열이 주어진다. 문자열은 알파벳 대문자로만 이루어져 있으며, 최대 1000글자로 이루어져 있다.출력첫째 줄에 입력으로 주어진 두 문자열의 LCS의 길이를 출력한다.예제 입력 복사ACAYKP CAPCAK 예제 출력 복사4 힌트출처문제를 만든 사람: baekjoon 123456789101112131415161718192021222..
보통 C, C++에서 입력 출력을 받을 때 printf, scanf보다 cout, cin이 편하기 때문에(개인적으로 그럴지도...) 처음에는 cout, cin을 사용하였으나 printf, scanf에 비해 cout, cin(endl)은 상당히 느리다. 이와 같은 현상에도 불구하고 cin, cout을 사용하고 싶다면std::ios::sync_with_stdio(false)를 코드 초반부에 적어준 후에 cin, cout을 사용한다면 printf, scanf만큼 빠른 사용이 가능해진다. cin, cout이 C 라이브러리에서 stdio buffer와 싱크를 맞추다 보니 느려진다고 한다.특히 endl같은 경우 위의 싱크와 상관없이 느린 출력의 주범이 된다고 하여 요즘에는 주로 printf, scanf를 사용한다.
1124 : 색종이(고)제한시간: 1000 ms 메모리제한: 32 MB 해결횟수: 390 회 시도횟수: 1418 회 가로, 세로의 크기가 각각 100인 정사각형 모양의 흰색 도화지가 있다. 이 도화지 위에 가로, 세로의 크기가 각각 10인 정사각형 모양의 검은색 색종이를 색종이의 변과 도화지의 변이 평행하도록 붙인다. 이러한 방식으로 색종이를 한 장 또는 여러 장 붙인 후 도화지에서 검은색 직사각형을 잘라내려고 한다. 직사각형 또한 그 변이 도화지의 변과 평행하도록 잘라내어야 한다. 예를 들어 흰색 도화지 위에 세 장의 검은색 색종이를 과 같은 모양으로 붙였다. 에 표시된 대로 검은색 직사각형을 잘라내면 그 넓이는 22×5=110이 된다. 반면 에 표시된 대로 검은색 직사각형을 잘라내면 그 넓이는 8×1..
2101 : 연속부분최대곱제한시간: 1000 ms 메모리제한: 32 MB 해결횟수: 740 회 시도횟수: 2489 회 N개의 양의 실수가 있을 때, 한 개 이상의 연속된 수들의 곱이 최대가 되는 부분을 찾아, 그 곱을 출력하는 프로그램을 작성하시오. 예를 들어 아래와 같이 8개의 양의 실수가 주어진다면, 색칠된 부분의 곱이 최대가 되며, 그 값은 1.638이다.결과는 double형의 범위를 넘지 않는다. 첫째 줄은 나열된 양의 실수들의 개수 N이 주어지고, 그 다음 줄부터 N개의 수가 한 줄에 하나씩 들어 있다. N은 10,000 이하의 자연수이다. 계산된 최대값을 소수점 이하 넷째 자리에서 반올림하여 소수점 이하 셋째 자리까지 출력한다. [Copy] 8 1.1 0.7 1.3 0.9 1.4 0.8 0.7..
시간 제한메모리 제한제출 횟수정답 횟수 (비율)정답자 수1.5 초512 MB107364 (6%)38문제납세의 의무는 국민의 기본적인 의무이다. 세금은 수입에 비례하여 정해진 규칙에 따라 계산되기 때문에, 규칙에 따라서 정확한 수입을 계산하는 것이 중요하다. 여러분은 새로 가게를 열고, 총 N 일 동안 영업을 하였다. 납세의 의무를 성실하게 수행하기 위하여 매 영업일마다 손익(이익 또는 손해)을 기록하여 세무서에 신고하였다. 세금을 매기는데 기준이 되는 수입은 다음 규칙에 의해서 계산된다."1일부터 N일 사이의 어떤 연속된 기간에 대하여 이 기간 동안 손익의 총합을 구한다. 단, 하루 이상의 기간만 고려한다. 다음, 전체 가능한 모든 기간에 대하여 구한 손익의 총합들 중 K번째로 큰 값이 기준이 된다. 즉..
1161 : 하노이의 탑제한시간: 1000 ms 메모리제한: 32 MB 해결횟수: 874 회 시도횟수: 1329 회 하노이의 탑에 대한 전설은 아래와 같다. 인도 베나레스에 있는 한 사원에는 세상의 중심을 나타내는 큰 돔이 있고 그 안에 세 개의 다이아몬드 기둥이 동판 위에 세워져 있다. 기둥 가운데 하나에는 신이 64개의 순금 원판을 끼워 놓았다. 가장 큰 원판이 바닥에 놓여 있고, 나머지 원판들이 점점 작아지며 꼭대기까지 쌓여 있다. 이것은 신성한 브라흐마의 탑이다. 브라흐마의 지시에 따라 승려들은 모든 원판을 다른 기둥으로 옮기기 위해 밤낮 없이 차례로 제단에 올라 규칙에 따라 원판을 하나씩 옮긴다. 이 일이 끝날 때, 탑은 무너지고 세상은 종말을 맞이하게 된다. 기둥을 1, 2, 3 번으로 하고,..
K번째 최단경로 찾기 성공문제집 시간 제한메모리 제한제출정답맞은 사람정답 비율2 초128 MB85528213927.745%문제봄캠프를 마친 김진영 조교는 여러 도시를 돌며 여행을 다닐 계획이다. 그런데 김 조교는, '느림의 미학'을 중요시하는 사람이라 항상 최단경로로만 이동하는 것은 별로 좋아하지 않는다. 하지만 너무 시간이 오래 걸리는 경로도 그리 매력적인 것만은 아니어서, 적당한 타협안인 'k번째 최단경로'를 구하길 원한다. 그를 돕기 위한 프로그램을 작성해 보자.입력첫째 줄에 n, m, k가 주어진다. (1≤n≤1000, 0≤m≤2000000, 1≤k≤100) n과 m은 각각 김 조교가 여행을 고려하고 있는 도시들의 개수와, 도시 간에 존재하는 도로의 수이다.이어지는 m개의 줄에는 각각 도로의 정보..
시간 제한메모리 제한제출 횟수정답 횟수 (비율)정답자 수3.0 초512 MB23940 (17%)26문제N개의 정점과 M개의 간선으로 이루어진 양방향 그래프가 주어진다. 1번 정점에서 N번 정점까지의 K번째 최단경로를 구하여라. 같은 거리로 N번 정점에 도달해도 중간에 이동하는 방법이 다르면 서로 다른 경로로 간주하며 같은 간선을 여러 번 이용할 수도 있다. 만약 1번 정점에서 N번 정점까지의 경로가 존재하지 않으면 -1을 출력한다.입력첫 번째 줄에 정점의 개수 N과 간선의 개수 M, 그리고 K가 주어진다. (1 ≤ N ≤ 100,000, 1 ≤ M ≤ 500,000, 1 ≤ K ≤ 10)두 번째 줄부터 M개의 줄에 걸쳐 간선의 정보가 입력된다. 간선의 정보는 x, y, z꼴로 주어지며 x에서 y로 가는데..