Algorithm(39)
-
[TopCoder] InfiniteSequence2(무한 수열)
다음과 같이 정의된 무한 수열 A를 생각해 보자: Ai = 모든 i에 대해 1 = 1에 대해 Ai p A[i/p]-x + A[i/q]-y, 여기서 [x]는 x의 바닥 함수를 나타낸다(참고 참조) n, p, q, x, y가 주어집니다. A의 n번째 요소(인덱스는 0 기반)를 반환합니다. Definition Class: InfiniteSequence2 Method: calc Parameters: long long, int, int, int, int Returns: long long Method signature: long long calc(long long n, int p, int q, int x, int y) (be sure your method is public) Examples 0) 10000000 2..
2023.03.06 -
[TopCoder] CutSticks (막대들 자르기)
존은 다양한 길이의 막대기를 가지고 있다. 각 요소가 하나의 막대의 길이인 막대가 주어집니다. 그는 C번의 컷을 수행한다. 각각의 컷에서, 그는 그의 스틱 중 하나를 선택하고 그것을 임의의 양의 길이를 가진 정확히 두 개의 스틱으로 나눈다. 그 다음에 컷을 할 때 각각의 스틱을 다시 선택할 수 있습니다. 컷을 모두 소화한 뒤 길이순으로 스틱을 분류해 K번째(1-based) 스틱을 선택한다. 선택한 스틱의 최대 길이를 반환합니다. K개 이상의 스틱으로 끝나려면 최소한 필요한 만큼의 컷을 수행해야 합니다. Definition Class: CutSticks Method: maxKth Parameters: vector , int, int Returns: double Method signature: double ..
2023.03.05 -
[TopCoder] NotTwo(2은 아냐)
Bob은 너비 x 높이의 직사각형 보드를 1 x 1 셀로 나눈다. 보드의 행 번호는 0부터 높이-1까지이고 열 번호는 0부터 너비-1까지입니다. 각 셀은 최대 하나의 스톤을 포함할 수 있으며, 각 스톤 쌍 사이의 유클리드 거리는 2가 아니어야 한다. x1 행의 셀, y1 열과 x2 행의 셀, y2 열 사이의 유클리드 거리는 (x1-x2) * (x1-x2) + (y1-y2) * (y1-y2)로부터의 제곱근으로 정의된다. 그가 칠판에 놓을 수 있는 최대 스톤 수를 반환하십시오. Definition Class: NotTwo Method: maxStones Parameters: int, int Returns: int Method signature: int maxStones(int width, int height..
2023.03.05 -
[TopCoder] CantorDust (칸토어 분진)
칸토어 더스트는 다음과 같은 방식으로 구성된 2차원 프랙탈이다. 처음에 프랙탈은 검은 사각형이다. 각 반복에서 프랙탈의 각 사각형은 동일한 부분 제곱의 3x3 서브 그리드로 분할된다. 하위 그리드의 가운데 행 또는 가운데 열(또는 둘 다)에 속하는 검은색 하위 사각형은 흰색으로 칠합니다. 검은색과 흰색 사각형의 직사각형 패턴(각각 'X' 및 '.' 문자로 표시됨)을 나타내는 패턴이 제공됩니다. 반복 시 칸토어 분진에서 이 패턴의 발생 횟수를 반환합니다. 중복 항목이 허용됩니다. Definition Class: CantorDust Method: occurrencesNumber Parameters: vector , int Returns: int Method signature: int occurrencesNu..
2023.03.05 -
[TopCoder] HamiltonPath (해밀턴 패스)
한 나라에는 N개의 도시가 있으며, 0에서 N-1까지 번호가 매겨져 있다. 각각의 도시 쌍은 양방향 도로로 연결되어 있다. 존은 다음과 같은 규칙을 사용하여 전국을 여행할 계획입니다: 그는 정확히 N-1 도로를 여행한 후 한 도시에서 시작해서 다른 도시에서 끝나야 한다. 그는 각 도시를 정확히 한 번 방문해야 한다. 도로가 주어졌습니다. 도로의 i번째 요소의 j번째 문자가 'Y'라면, 그는 city i와 city j를 연결하는 도로를 여행해야 한다. 예를 들어, 3개의 도시가 있고 0과 1 사이의 도로를 이동하려는 경우 0->1->2, 1->0->2, 2->0->1->1->0의 네 가지 경로가 가능합니다. 0->2->1번과 1->2->0번 경로는 그가 0시와 1시 사이의 도로를 이동할 수 없게 하기 때문..
2023.03.01 -
[TopCoder] CirclesCountry (원형 국가)
서클스 컨트리는 여러 개의 원형 지역을 포함하는 나라입니다. 일부 구역은 다른 구역 안에 위치할 수 있지만, 그 경계는 교차하거나 닿지 않는다. 카탐은 서클스 컨트리의 주민이다. 그가 두 지역을 오갈 때, 그는 보통 국경을 넘는 것이 힘든 일이기 때문에 가능한 한 가장 적은 수의 지역 경계를 넘으려고 노력한다. Circles Country를 무한한 비행기로 상상해 보세요. 여기서 (X[i], Y[i]는 i번째 구역의 중심 좌표이고 R[i]는 반지름입니다. Qatam은 현재 포인트(x1,y1)에 있으며 포인트(x2,y2)에 도달해야 합니다. 이 두 지점 모두 지역 경계에 있지 않다. 목적지에 도달하기 위해 통과해야 하는 최소 구역 경계를 반환합니다. Definition Class: CirclesCountr..
2023.03.01