숫자 n이 있다고 가정합니다. l
숫자 d가 있다고 가정합니다. 정사각형 타일과 변의 길이가 1인 정삼각형 타일이 무한히 있다고 가정합니다. 이 타일을 사용하여 변이 d인 정십이각형(12면 다각형)을 만들 수 있는 방법의 수를 찾아야 합니다. 답이 너무 크면 결과 모드 998244353을 반환합니다. 단계 이 문제를 해결하기 위해 다음 단계를 따르겠습니다- b := floor of d/2 - 1 c := 1 for initialize i := 2, when i < d, update (increase i by 1), do: b :=
방향 그래프 G의 인접 행렬이 있다고 가정합니다. 그래프가 비어 있을 때까지 다음 작업을 반복합니다. G에서 하나의 정점을 선택한 다음 해당 정점과 일부 가장자리를 따라 해당 정점에서 도달할 수 있는 모든 정점을 지웁니다. 꼭짓점을 지우면 해당 꼭짓점에 발생한 가장자리도 지워집니다. 작업이 완료되는 예상 횟수를 찾아야 합니다. 따라서 입력이 다음과 같으면 그러면 출력은 1.6667이 됩니다. 처음에는 정점 A를 선택하고 모든 정점을 제거하고 정점 B를 선택하면 B와 C를 제거하고 두 번째 작업에서 A를 선택하여 제거하기 때문
세 개의 숫자 b와 c가 있다고 가정합니다. 우리는 임의의 비퇴화 단순 사변형의 형태로 닫힌 울타리를 만들고 싶습니다. 우리는 이미 길이 b, c의 세 변을 가지고 있습니다. 우리는 다른 면을 찾아야 합니다 d. 따라서 입력이 =12와 같으면; b =34; c =56이면 출력은 42가 되고 다른 답변도 가능합니다. 단계 이 문제를 해결하기 위해 다음 단계를 따릅니다. − return a + b + c - 2 예시 이해를 돕기 위해 다음 구현을 살펴보겠습니다. − #include<bits/stdc++.h> using
숫자 n이 있다고 가정합니다. 알다시피, 대괄호 시퀀스는 ( 및 ) 문자만 포함하는 문자열입니다. 유효한 대괄호 시퀀스는 시퀀스의 원래 문자 사이에 1과 + 문자를 삽입하여 올바른 산술 표현식으로 변환할 수 있는 대괄호 시퀀스입니다. 따라서 대괄호 시퀀스가 ()()과 같으면 (1)+(1)과 같이 1을 넣을 수 있기 때문에 유효합니다. 숫자 n에서 길이가 2n인 다른 가능한 유효한 괄호 시퀀스를 정확히 n개 찾아야 합니다. 따라서 입력이 n =4와 같으면 출력은 [()()()(), (())()(), ((()))(), ((()))
n개의 요소가 있는 배열 A가 있다고 가정합니다. 주어진 숫자의 하위 집합을 선택하고 이 숫자를 무효화합니다. 우리는 얻을 수 있는 배열에서 서로 다른 값의 최대 수를 찾아야 합니다. 따라서 입력이 A =[1, 1, 2, 2]와 같으면 출력은 4가 됩니다. 네 가지 다른 값. 단계 이 문제를 해결하기 위해 다음 단계를 따릅니다. − Define one set se n := size of A for initialize i := 0, when i < n, update (increase i by 1), do: &nb
n개의 요소가 있는 배열 A가 있다고 가정합니다. 중복 요소를 제거하고 싶습니다. 배열의 각 요소에 대해 맨 오른쪽 항목만 남기고 싶습니다. 나머지 고유 요소의 상대적 순서는 변경하면 안 됩니다. 따라서 입력이 A =[1, 5, 5, 1, 6, 1]과 같으면 출력은 [5, 6, 1]이 됩니다. 단계 이 문제를 해결하기 위해 다음 단계를 따릅니다. − Define two arrays b and vis of size: 1200 each x := 0 n := size of A for initialize i := n - 1, when
우리에게 숫자 X가 있다고 가정합니다. 은행에 100루피가 있습니다. 은행은 매년 복리로 1%의 연이율을 반환합니다. (정수만). X 루피를 받는 데 몇 년이 필요한지 확인해야 합니까? 따라서 입력이 X =520과 같으면 출력은 213이 됩니다. 단계 이 문제를 해결하기 위해 다음 단계를 따릅니다. − sum := 0 balance := 100 while balance < n, do: interest := balance / 100 sum := sum + 1 &nbs
세 개의 숫자 A, B, C가 있다고 가정합니다. 게임을 생각해 보십시오. 세 개의 정수 패널이 있으며 각각에는 1에서 9까지(둘 다 포함) 숫자 형식이 인쇄되어 있고 하나의 조작자 패널에는 +가 있습니다. 사인이 인쇄되어 있습니다. 플레이어는 4개의 패널을 왼쪽에서 오른쪽으로 배열하여 X+Y 형식의 공식을 만들어야 합니다. 그런 다음 수당 금액은 공식의 결과 값과 같습니다. 가능한 최대 수당을 찾아야 합니다. 따라서 입력이 A =1과 같으면; B =5; C =2이면 패널이 52+1처럼 배열되기 때문에 출력은 53이 되며 이것이
5개의 숫자 N, A, B, C, D가 있다고 가정합니다. 숫자 0에서 시작하여 N에서 끝납니다. 다음 작업으로 특정 수의 동전으로 숫자를 변경할 수 있습니다. - 숫자에 2를 곱하여 A코인 지급 숫자에 3을 곱하면 B코인 지급 숫자에 5를 곱하여 C 코인 지불 1씩 늘리거나 줄여 D코인을 지급합니다. 이러한 작업은 순서에 관계없이 여러 번 수행할 수 있습니다. N에 도달하는 데 필요한 최소 동전 수를 찾아야 합니다. 따라서 입력이 N =11과 같으면; A =1; B =2; C =2; D =8이면 초기에 x가 0이기 때문에
네 개의 숫자 n, x, b가 있다고 가정합니다. 일렬로 n명의 학생이 있습니다. 그들 사이에는 두 명의 라이벌 학생이 있습니다. 그들 중 하나는 위치에 있고 다른 하나는 위치 b에 있습니다. 위치는 왼쪽에서 오른쪽으로 1에서 n까지 번호가 매겨집니다. 우리는 이 두 학생 사이의 거리를 최대화하고 싶습니다. 다음 작업을 x번 수행할 수 있습니다. 인접한 두 학생을 선택한 다음 교환합니다. x 교환 후 가능한 최대 거리를 찾아야 합니다. 따라서 입력이 n =5와 같으면; x =1; a =3; b =2이면 출력은 2가 됩니다. 위치
n개의 개별 요소와 또 다른 숫자 x가 있는 배열 A가 있다고 가정합니다. n개의 금이 있습니다. i번째 금 무게는 A[i]입니다. 우리는 이 n개의 조각을 한 번에 한 조각씩 체중계에 올려놓을 것입니다. 그러나 저울에는 특이한 결함이 있습니다. 저울의 총 무게가 정확히 x이면 폭발할 것입니다. 그 과정에서 저울이 폭발하지 않고 n개의 금 조각을 저울에 순서대로 올려놓을 수 있는지 확인해야 합니다. 우리가 할 수 있다면 그 순서를 찾으십시오. 불가능하면 불가능으로 표시하십시오. 따라서 입력이 A =[1, 2, 3, 4, 8]과 같
(xi, yi) 형식의 N 좌표점 P의 목록이 있다고 가정합니다. x 및 y 값은 처음 N개의 자연수의 순열입니다. 범위 1에서 N까지의 각 k에 대해. 우리는 도시 k에 있습니다. 연산을 임의로 여러 번 적용할 수 있습니다. 연산:우리는 현재 우리가 있는 도시보다 x좌표가 더 작고 y좌표가 더 작거나 x 또는 y좌표가 더 큰 다른 도시로 이동합니다. 우리는 도시 k에서 도달할 수 있는 도시의 수를 찾아야 합니다. . 따라서 입력이 P =[[1, 4], [2, 3], [3, 1], [4, 2]]와 같으면 출력은 [1, 1, 2,
두 개의 문자열 S와 T가 있다고 가정합니다. 둘 다 소문자입니다. T와 S를 이 순서로 연결하여 최종 문자열을 생성합니다. 따라서 입력이 S =ramming과 같으면; T =prog인 경우 출력은 프로그래밍이 됩니다. 단계 이 문제를 해결하기 위해 다음 단계를 따릅니다. − res := T concatenate S return res 예 이해를 돕기 위해 다음 구현을 살펴보겠습니다. − #include <bits/stdc++.h> using namespace std; string solve(string S, st
N개의 요소가 있는 배열 A와 다른 이진 문자열 S가 있다고 가정합니다. 두 명의 플레이어가 게임을 하고 있다고 가정합니다. 0과 1로 번호가 매겨집니다. 초기 값이 0인 변수 x가 하나 있습니다. 게임에는 N 라운드가 있습니다. i번째 라운드 사람 S[i]는 다음 중 하나를 수행합니다. x를 x XOR A[i]로 교체하고, 그렇지 않으면 아무 것도 하지 않습니다. 사람 0은 이 게임이 끝날 때 0을 원하지만 사람 1은 0이 아닌 것을 원합니다. x가 마지막에 0이 되는지 여부를 확인해야 합니다. 따라서 입력이 A =[1, 2]와
n개의 요소가 있는 배열 A가 있다고 가정합니다. 원 위에 n명의 병사가 서 있다. i번째 병사의 경우 키는 A[i]입니다. 정찰 부대는 높이 차이가 최소인 인접한 두 병사로 만들 수 있습니다. 그래서 그들 각각은 서로 덜 눈에 띄게 될 것입니다. 정찰부대를 구성할 수 있는 병사 쌍의 인덱스를 찾아야 합니다. 따라서 입력이 A =[10, 12, 13, 15, 10]과 같으면 출력은 (5, 1)이 됩니다. 단계 이 문제를 해결하기 위해 다음 단계를 따릅니다. − n := size of A D := |A[0] - A[n - 1]|
n개의 요소가 있는 배열 A가 있다고 가정합니다. Amal은 다층 건물 내부의 계단을 올라갑니다. 그가 올라갈 때마다 1부터 세기 시작합니다. 예를 들어, 그가 3개의 계단과 4개의 계단으로 두 개의 계단을 오르면 그는 1, 2, 3, 1, 2, 3, 4와 같은 숫자를 말할 것입니다. 배열 A에서, 숫자는 Amal이 말한 계단 번호를 나타냅니다. 그가 올랐던 계단의 수를 세고 각 계단의 계단 수도 출력해야 합니다. 따라서 입력이 A =[1, 2, 3, 1, 2, 3, 4, 5]와 같으면 출력은 2, [3, 5]가 됩니다. 단계
숫자 n이 있다고 가정합니다. 처음 n개의 자연수를 고려하십시오. 각 원소가 정확히 하나의 집합에 속하고 A에 있는 원소의 합과 B에 있는 원소의 합 사이의 절대차가 최소가 되도록 두 집합 A와 B로 나누어 그 차이를 찾아야 합니다. 따라서 입력이 n =5와 같으면 출력은 1이 됩니다. 왜냐하면 A ={1, 3, 4} 및 B ={2, 5}로 만들면 합계 값은 8과 7이기 때문입니다. 차이는 1입니다. 단계 이 문제를 해결하기 위해 다음 단계를 따릅니다. − return (n * (n + 1) / 2) mod 2 예시 이해를 돕
n개의 문자가 있는 문자열 S가 있다고 가정합니다. S는 영문 소문자와 ) 문자를 포함합니다. 끝에 있는 문자 )의 수가 나머지 문자의 수보다 엄격하게 크면 문자열이 잘못된 것입니다. S가 나쁜지 아닌지 확인해야 합니다. 따라서 입력이 S =fega)))))와 같으면 출력은 True가 됩니다. 왜냐하면 이것은 4개의 문자와 6개의 )가 있기 때문에 나쁘기 때문입니다. 단계 이 문제를 해결하기 위해 다음 단계를 따릅니다. − ans := 0 n := size of S i := n - 1 while (i >= 0 and S[i
n개의 개별 요소가 있는 배열 A가 있다고 가정합니다. 두 개의 개별 요소 B[i] 및 B[j]에 대해 |B[i] - B[j]| B에 한 번 이상 나타나며 B의 모든 요소는 구별됩니다. 최대 300 크기로 만들기 위해 A에 여러 정수를 추가할 수 있는지 확인해야 합니다. 가능하면 새 배열을 반환하고, 그렇지 않으면 -1을 반환합니다. 따라서 입력이 A =[4, 8, 12, 6]과 같으면 출력은 [8, 12, 6, 2, 4, 10]이 됩니다. |4−2| =|6−4| =|8−6| =|10−8| =|12−10| =2는 배열에 있습니다.