경로에 n개의 블록이 있고 작업자가 블록에 색상 타일을 놓고 있다고 가정합니다. 작업자는 경로에 있는 블록 번호가 4 또는/및 2로 나눌 수 있지만 42로 나눌 수 없는 경우 색 타일을 놓는 방식으로 블록을 배치하고 있습니다. 우리는 그가 k개의 색상 타일로 시작했다면 그가 커버할 수 있는 블록의 수를 알아내야 합니다. 따라서 입력이 k =16과 같으면 출력은 32가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − MOD =10^9 + 7 몫 :=(k / 20)의 하한값 나머지 :=k 모드 20 나머지가 0이면
0으로 초기화된 n x n 행렬이 있다고 가정합니다. 이제 목록이 제공되고 여기에는 특정 행과 열 위치를 포함하는 몇 가지 쌍이 포함됩니다. 목록의 각 항목 i에 대해 행 번호와 열 번호가 목록에 있는 항목 i의 행 값과 열 값보다 작은 셀의 내용은 1씩 증가합니다. 모든 목록 요소를 순회한 후 최대값을 포함하는 행렬의 셀 수를 찾아야 합니다. (행 및 열 인덱스는 0에서 시작) 따라서 입력이 input_list =[[3, 5], [4, 6], [5, 3]]과 같으면 출력은 9가 됩니다. 5 x 6 행렬이라고 가정합니다. 처음에
n개의 꼭짓점, n개의 대칭축, n개의 회전점이 있는 다각형이 있다고 가정합니다. 다음은 뒤집는 축과 회전점에 해당됩니다. n이 홀수이면 뒤집는 각 축은 한 꼭짓점과 반대쪽 변의 가운데만 통과합니다. n이 짝수이면 축의 절반은 한 쌍의 반대 꼭짓점을 통과하고 나머지 절반은 한 쌍의 반대 변을 통과합니다. 추종하는 두 축의 각도는 360/2n입니다. 이제 제공된 다각형을 회전합니다. n개의 서로 다른 유형의 회전자가 있으며 k-회전자는 k축에서 다각형을 시계 방향으로 (360 x k)/n도 회전합니다. 여러 쌍의 정수를 포함하는
n개의 공이 있다고 가정합니다. 공은 1,2,3,4,...,n 방식으로 정렬됩니다. 이제 공은 순서가 반대로 되거나 n, n-1, n-2, ......, 2, 1 방식으로 정렬됩니다. 공은 다시 순서대로 반전되며 이번에는 위치 1에서 반전됩니다. n으로, 또는 이제 순서는 n, 1, 2,....., n-1이 됩니다. 이 반전 과정을 n번 반복하고 시작 위치를 오른쪽으로 1칸 이동할 때마다 반복합니다. 이제 역전 후 처음 인덱스 위치에 있는 공의 위치를 찾아야 합니다. 따라서 입력이 ball =5, index =2인 경우 출력은
숫자 n이 있다고 가정합니다. [1,2,...,n]과 같은 숫자가 있는 경우 이 n개의 값을 사용하여 구성할 수 있는 가능한 BST의 수를 계산해야 합니다. 답이 너무 크면 결과를 10^9+7로 수정합니다. 따라서 입력이 n =3과 같으면 출력은 14가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. a :=값이 [0, 1]인 목록 m :=10^9+7 max_n :=1000 2~max_n + 1 범위의 k에 대해 insert(1 + 목록의 모든 요소의 합(a[i] * a[k - i] for all i in ran
숫자 n과 또 다른 숫자 k가 있다고 가정합니다. n이 k개의 소수의 합으로 표현될 수 있는지 확인해야 합니다. 따라서 입력이 n =30 k =3과 같으면 30이 2 + 11 + 17과 같이 표시될 수 있으므로 출력은 True가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − n
Ajob 언어라는 이상한 언어가 있다고 가정합니다. 글자 수는 무한합니다. 우리는 이 언어로 n개의 단어를 알고 있습니다. 첫 번째 단어는 1자 길이이고, 두 번째 단어는 2자 길이입니다. 그리고 단어의 모든 글자는 고유합니다. n 단어 중 하나를 선택하고 그로부터 하위 시퀀스를 형성하는 경우. 하위 시퀀스의 길이는 원래 단어의 길이보다 k 작아야 합니다. 예를 들어 선택한 단어의 길이가 L이라고 하면 하위 시퀀스의 길이는 (L - k)여야 합니다. 길이가 k보다 작은 단어가 있으면 해당 단어를 선택해서는 안 됩니다. 그리고 두 부
숫자 A가 있다고 가정합니다. A를 n번 연속으로 연결하여 큰 숫자 X를 생성하고 X 모듈로 m의 값을 찾아야 합니다. 따라서 입력이 A =15 n =3 m =8과 같으면 x가 151515이고 151515 mod 8 =3이 되기 때문에 출력은 3이 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − A가 0과 같으면 0을 반환 an:=A c:=A의 자릿수 c:=10^c d:=c-1 newmod :=d*m val :=(c ^ n mod newmod) -1 val :=(val + newmod) 모드 newmod an
크기가 n인 시퀀스 번호가 있다고 가정합니다. 모든 쌍(p, q)이 좋은 쌍인 nums의 부분열의 최대 크기를 찾아야 합니다. pait는 다음 조건 중 하나 이상을 충족하는 경우에만 좋은 쌍이라고 합니다. 1. p의 고유한 소수 제수의 패리티가 b의 패리티와 동일합니다. 예를 들어, 값 18에는 2와 3이라는 두 개의 서로 다른 소수가 있습니다. 2. p의 모든 양수 제수 합계의 패리티는 q와 같습니다. 따라서 입력이 nums =[2,3,6,8]과 같으면 출력은 3이 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다.
2D 평면에서 두 개의 직사각형으로 덮인 전체 면적을 찾고 싶다고 가정합니다. 여기서 각 직사각형은 그림과 같이 왼쪽 하단 모서리와 오른쪽 상단 모서리로 정의됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 너비_1 :=|C-A|, 높이_1 :=|D-B| 너비_2 :=|G-E|, 높이_2 :=|H-F| 면적:=width_1*height_1 + width_2*height_2 (GD) 또는 (H
nCr 값을 여러 번 계산해야 한다고 가정합니다. 우리는 이것을 매우 효율적인 방법으로 해결할 수 있습니다. nCr의 더 낮은 값을 저장하면 더 높은 값을 쉽게 찾을 수 있습니다. 따라서 n이 있으면 nC0에서 nCn까지의 목록을 찾아야 합니다. 응답이 너무 크면 해당 모듈로 10^9를 반환합니다. 따라서 입력이 n =6과 같으면 출력은 [1, 6, 15, 20, 15, 6, 1]이 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − items :=단일 요소가 1인 목록 1~n 범위의 r에 대해 다음을 수행합니다. 항
액면가가 제한된 동전(₩1, ₩2, ₩5 및 ₩10)이 있다고 가정합니다. 우리는 당신이 그것들을 총 ₩n으로 합할 수 있는 방법의 수를 찾아야만 합니다. 크기가 4인 배열 개수가 있으며 여기서 count[0]은 1루피의 코인을, count[1]은 2루피의 코인을 나타내는 식입니다. 따라서 입력이 n =25 count =[7,3,2,2]와 같으면 출력은 9가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 데놈 :=[1,2,5,10] A :=크기(n + 1)이고 0으로 채워지는 배열 B :=A의 새 목록 0에서 (
문자열 s가 있다고 가정합니다. s의 가능한 모든 조합을 찾아야 합니다. 동일한 문자 집합을 가진 두 개의 문자열이 있는 경우 사전순으로 가장 작은 문자열을 표시합니다. 그리고 한 가지 제약 조건은 각 문자가 고유하다는 것입니다. 따라서 입력이 s =pqr과 같으면 출력은 [r, qr, q, pr, pqr, pq, p] 이 문제를 해결하기 위해 다음 단계를 따릅니다. − st_arr :=새 목록 범위 크기가 s - 1에서 0인 i에 대해 1만큼 감소, do 0에서 st_arr - 1의 크기 범위에 있는 j에 대해 st_arr
두 개의 목록 nums1과 nums2가 있다고 가정합니다. 이제 제약 조건은 각 목록의 요소를 병합할 때 변경되지 않는 것입니다. 예를 들어 요소가 [1,2,3] 및 [4,5,6]이면 일부 유효한 병합 목록은 [1, 4,2,3,5,6] 및 [1,2,3,4,5,6]에 다른 유효한 병합 시퀀스가 있을 수 있습니다. 따라서 목록 N과 M의 크기가 있는 경우 유효한 목록을 얻기 위해 이들을 병합할 수 있는 방법의 수를 찾아야 합니다. 답이 너무 크면 결과 모듈로 10^9 + 7을 반환합니다. 따라서 입력이 N =5 M =3과 같으면
크기가 n이고 nums[i]가 공 i의 수를 나타내는 배열 nums로 번호가 매겨진 n개의 공이 있다고 가정합니다. 이제 다른 값 k가 있습니다. 각 턴에서 우리는 n개의 다른 공에서 k개의 공을 선택하고 k개의 공의 최대값과 최소값의 차이를 찾고 그 차이를 테이블에 저장합니다. 그런 다음 이 k개의 공을 다시 그 냄비에 넣고 가능한 모든 선택 항목을 선택할 때까지 다시 선택합니다. 마지막으로 표에서 모든 차이의 합계를 찾으십시오. 답이 너무 크면 결과 모드 10^9+7을 반환합니다. 따라서 입력이 n =4 k =3 nums =[
배열 번호가 있다고 가정합니다. nums[i] =nums[j]인 쌍(i,j)의 수를 찾아야 하지만 i는 j와 동일하지 않습니다. 따라서 입력이 nums =[1,3,1,3,5]와 같으면 출력은 4가 됩니다. 쌍은 (0,2), (2,0), (1,3) 및 (3,1) 이 문제를 해결하기 위해 다음 단계를 따릅니다. − d :=새 지도 num에 있는 각 c에 대해 다음을 수행합니다. d[c] :=(d[c] + 1) c가 d에 있을 때 그렇지 않으면 1 res :=0 1인 경우), do res :=res +(d[c] *(d[c]-1
배열 num과 값 k가 있다고 가정합니다. 합이 k로 나누어 떨어지는 연속적인 부분 수열의 수를 찾아야 합니다. 따라서 입력이 k =3 nums =[1,2,3,4,1]과 같으면 하위 시퀀스가 [3], [1,2], [1,2,3이므로 출력은 4가 됩니다. ] 및 [2,3,4]. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − x :=크기가 k이고 0으로 채워지는 배열 x[0] :=1 r:=0, s:=0 숫자 단위의 각 요소에 대해 다음을 수행합니다. s :=(s + 요소) 모드 k r :=r + x[s] x[s] :=x[s
m개의 문자와 다른 값 n이 있다고 가정합니다. 우리는 이 m개의 문자에서 문자로 생성된 길이가 n인 문자열의 수를 계산해야 하며 문자열에는 1보다 큰 길이의 회문 부분 문자열이 없습니다. 응답이 너무 크면 결과를 10^9+7로 수정합니다. 따라서 입력이 n =2 m =3과 같으면 m =3이므로 출력은 6이 됩니다. 따라서 알파벳이 {x,y,z}인 경우 [xx,xy,xz]와 같은 문자열을 생성할 수 있습니다. ,yx,yy,yz,zx,zy,zz] 하지만 [xx,yy,zz]는 유효하지 않으므로 6개의 문자열이 있습니다. 이 문제를
데카르트 평면에서 (0, 0) 위치에 있다고 가정합니다. 한 단위의 수평(H) 및 수직(V) 이동만 사용하여 지점(x, y)으로 이동하려고 합니다. 목적지에 도달할 수 있는 방법은 여러 가지가 있습니다. 각 방법은 약간의 H 이동과 적은 V 이동으로 구성됩니다. (예를 들어 (0,0) 지점에서 (2,2) 지점으로 이동하려면 HVVH가 가능한 방법 중 하나입니다.) 다른 값 k가 있는 경우 사전식에서 k번째로 작은 방법을 찾아야 합니다. 목적지로 이동합니다. 따라서 입력이 (x, y) =(3, 3) k =3과 같으면 출력은 HHVV