1에서 n까지 레이블이 지정된 n개의 노드가 있는 하나의 무방향 스타 그래프가 있다고 가정합니다. 우리가 알다시피 스타 그래프는 중심 노드가 하나이고 중심 노드를 다른 모든 노드와 연결하는 모서리가 정확히 n - 1개인 그래프입니다. 주어진 별 그래프의 중심을 찾아야 합니다. 따라서 입력이 다음과 같으면 3이 중앙에 있으므로 출력은 3이 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 본 :=새로운 세트 그래프의 각 모서리(u,v)에 대해 수행 u가 본 경우 돌아오다 v가 표시되면
고객[i] =[arrival_i, time_i] 쌍을 보유하는 배열 고객이 있다고 가정합니다. 여기서 arrival_i는 i번째 고객의 도착 시간입니다. 그리고 도착 시간은 낮은 것에서 높은 것으로 정렬됩니다. 그리고 time_i는 i번째 고객의 주문을 준비하는 데 필요한 시간입니다. 이제 고객이 도착하면 주문을 하고 요리사가 한가할 때 주문한 사람만 준비를 시작합니다. 요리사는 한 번에 한 명 이상의 고객을 위해 음식을 준비하지 않습니다. 그리고 명령을 받은 순서대로 준비합니다. 모든 고객의 평균 대기 시간을 찾아야 합니다. 따
class[i]가 [pass_i, total_i]를 나타내는 클래스 목록이 각각 i번째 클래스의 시험에 합격한 학생 수와 i번째 클래스의 총 학생 수를 나타내는 클래스 목록이 있다고 가정합니다. 우리는 또한 또 다른 가치가 있습니다. 이는 배정된 모든 수업의 시험에 합격할 수 있는 우수한 학생의 추가 수를 나타냅니다. 우리는 모든 수업에서 합격한 학생의 평균 수를 최대화하는 방식으로 추가 학생 각각을 수업에 할당해야 합니다. 수업의 합격률은 합격할 수업의 학생 수를 해당 수업의 총 학생 수로 나눈 값입니다. 그리고 평균 합격률은 전
바이너리 문자열이 있다고 가정합니다. 다음 작업을 몇 번이든 적용할 수 있습니다. − 숫자에 하위 문자열 00이 포함되어 있으면 10으로 바꿀 수 있습니다. 숫자에 하위 문자열 10이 포함되어 있으면 01로 바꿀 수 있습니다. 그런 다음 우리는 연산 횟수에 관계없이 얻을 수 있는 최대 바이너리(숫자 값 기반) 문자열을 찾아야 합니다. 111011. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 길이 :=s의 크기 0 :=s의 0 개수 0 <2이면 반환 s :=s의 왼쪽에서 모든 1 제거 lead_one
양의 정수 N이 있다고 가정하고 선행 숫자가 0이 아닌 임의의 순서(원래 순서 포함)로 숫자를 재정렬합니다. 결과 숫자가 2의 거듭제곱이 되도록 이 작업을 수행할 수 있는지 확인해야 합니다. 따라서 입력이 N =812와 같으면 출력은 True가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − i:=1 내가<=1000000000인 동안 s:=i를 문자열로 s:=s의 문자 정렬 t:=n을 문자열로 t:=t의 문자 정렬 s가 t와 같으면 참을 반환 i:=i*2
길이가 n인 일과 사과라는 두 개의 배열이 있다고 가정합니다. n일 연속으로 매일 사과가 자라는 특별한 종류의 사과나무가 있습니다. i 번째 날에는 사과[i] 수만큼 자라서 일[i]일 후에 썩을 것이기 때문에 i+일[i]일에는 사과가 썩어서 먹을 수 없다고 말할 수 있습니다. 어떤 날. apples[i] =0이고 days[i] =0이면 i일에 사과 나무가 사과를 재배하고 있지 않음을 나타냅니다. 우리는 하루에 최대 1개의 사과를 섭취할 수 있습니다. (처음 n일이 지나도 계속 먹을 수 있습니다.) 여기서 우리는 우리가 먹을 수 있는
deli[i]가 i번째 음식의 맛인 배열 델리가 있다고 가정하면 이 목록에서 만들 수 있는 다양한 좋은 식사의 수를 찾아야 합니다. 답이 너무 크면 모듈로 10^9 + 7을 반환합니다. 여기서 좋은 식사는 정확히 2개의 다른 음식 항목을 포함하고 맛의 합이 2의 거듭제곱인 식사를 의미합니다. 우리는 좋은 식사를 위해 두 가지 다른 음식을 선택할 수 있습니다. 따라서 입력이 deli =[1,7,3,6,5]와 같으면 출력은 3이 됩니다. 왜냐하면 쌍 (1,3), (1,7) 및 (3,5) 합계는 2의 거듭제곱입니다. 이 문제를 해결하
뱀과 사다리 게임을 한다고 가정해 봅시다. 주사위에서 원하는 숫자를 굴릴 수 있다는 조건이 있습니다. 우리는 위치 0에서 시작하고 목적지는 위치 100이며 목적지에 도달하기 위해 주사위를 여러 번 굴립니다. 보드에서 뱀과 사다리의 위치가 제공된 경우 목적지에 도달하는 데 필요한 주사위 굴림의 최소 수를 찾아야 합니다. 뱀과 사다리 배열은 보드에서 뱀과 사다리의 위치와 각 항목을 나타냅니다 배열은 보드의 뱀이나 사다리의 시작 값과 끝 값을 포함합니다. 따라서 입력이 사다리와 같다면 =[(11, 40), (37,67),(47, 73)
그래프가 주어지고 해당 그래프에서 최소 스패닝 트리(MST)를 찾으라고 요청한다고 가정합니다. 그래프의 MST는 모든 정점이 존재하고 연결된 가중치 그래프의 하위 집합이며 하위 집합에 주기가 없습니다. MST의 총 간선 가중치가 그래프에서 가능한 최소값이기 때문에 MST를 최소값이라고 합니다. 그래서 여기에서 Prim의 MST 알고리즘을 사용하고 주어진 그래프에서 MST의 총 간선 가중치를 찾습니다. 따라서 입력이 다음과 같으면 , 정점 수(n)는 4이고 시작 정점(s) =3이면 출력은 14가 됩니다. 이 그래프의 MST는
nums라는 배열이 있다고 가정하고 이 배열을 nums로 분할하는 좋은 방법의 수를 찾아야 합니다. 응답이 너무 클 수 있으므로 모듈로 10^9 + 7을 반환합니다. 여기서 배열의 분할(정수 요소 포함)은 배열이 왼쪽에서 오른쪽으로 각각 비어 있지 않은 세 개의 연속 하위 배열로 분할되고 왼쪽 요소의 합은 중간 요소의 합보다 작거나 같고, 중간 요소의 합은 오른쪽 요소의 합보다 작거나 같습니다. 따라서 입력이 nums =[2,3,3,3,7,1]과 같으면 세 가지 분할 방법이 있으므로 출력은 3이 됩니다. [2],[3],[3,3,
그래프가 주어지고 그래프에서 가장 큰 파벌의 최소 크기를 구하라는 요청을 받았다고 가정합니다. 그래프의 클리크는 모든 정점 쌍이 인접한 그래프의 하위 집합입니다. 즉, 모든 정점 쌍 사이에 가장자리가 있습니다. 그래프에서 가장 큰 클리크를 찾는 것은 다항식 시간에는 불가능하므로 작은 그래프의 노드와 에지의 수를 감안할 때 가장 큰 클리크를 찾아야 합니다. 따라서 입력이 노드 =4와 같으면 가장자리 =4입니다. 그러면 출력은 2가 됩니다. 위 그래프에서 파벌의 최대 크기는 2입니다. 이 문제를 해결하기 위해 다음 단계를 따릅
무방향 가중 그래프가 주어지고 노드에서 노드 b까지 가능한 최소 페널티가 있는 경로를 찾으라는 요청을 받았다고 가정합니다. 경로의 페널티는 경로의 모든 가장자리 가중치의 비트 OR입니다. 따라서 이러한 최소 페널티 경로를 찾아야 하며, 두 노드 사이에 경로가 없으면 -1을 반환합니다. 따라서 입력이 다음과 같으면 시작(들) =1, 끝(e) =3; 그러면 출력은 15가 됩니다. 3이고 경로 비용은 (10 OR 5) =15입니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − helper() 함수를 정의합니다. G, s
C로 있다고 가정합니다. A에서 B로 이동하는 비용은 10이고 B에서 C로 이동하는 비용은 20입니다. A에서 C로 이동하는 비용은 (A에서 B로 이동하는 비용) + (B에서 C로 이동하는 비용과 노드 B까지 이동하는 누적 비용의 차이)입니다. 그래서 그것은 10 + (20 - 10) =20으로 해석될 것입니다. 우리는 첫 번째 노드 내에서 마지막 노드(가장 낮은 값을 가진 노드에서 가장 높은 값을 가진 노드)까지 가능한 최소 이동 값을 찾아야 합니다. 주어진 그래프. 따라서 입력이 다음과 같으면 그러면 출력은 15가 됩니다
머리와 발이라는 두 가지 유형의 정점이 있는 특별한 유형의 그래프가 있다고 가정합니다. 그래프에는 머리가 하나만 있고 머리를 각 발에 연결하는 k 개의 모서리가 있습니다. 무향, 무가중 그래프가 주어진다면; 우리는 그래프의 꼭짓점 disjoint subgraphs에서 이러한 특별한 유형의 그래프를 찾아야 합니다. 두 그래프에 공통 정점이 없는 경우 이 그래프는 분리된 정점이라고 합니다. 따라서 입력이 다음과 같으면 노드 수(n) =5, 피트 수(t) =2이면 출력은 5가 됩니다. 주어진 그래프의 정점 분리 하위 그래프인 5
n개의 도시가 있고 n -1개의 도로와 연결되어 있다고 가정합니다. 도시는 다른 도시에서 방문할 수 있습니다. 이제 도시의 우편 시스템은 매일 k개의 편지를 배달합니다. 편지의 목적지는 k개의 다른 도시 중 하나일 수 있습니다. 우체국 직원은 매일 자신의 주소로 모든 편지를 배달해야 합니다. 우리는 노동자가 모든 편지를 배달하기 위해 이동해야 하는 최소 거리를 찾아야 합니다. 일꾼은 주어진 도시에서 시작할 수 있습니다. 따라서 입력이 다음과 같으면 그리고 편지는 도시(delv) 1, 2, 4로 배달되어야 합니다. 그러면 출력
문자열 s와 두 개의 값 x와 y가 있다고 가정합니다. 주어진 두 가지 유형의 작업을 여러 번 수행할 수 있습니다. 검색 하위 문자열 ab가 있는 경우 제거하여 x점을 얻을 수 있습니다. 검색 하위 문자열 ba가 있는 경우 제거하여 y점을 얻을 수 있습니다. 위의 연산을 s에 적용한 후 얻을 수 있는 최대 포인트를 찾아야 합니다. 따라서 입력이 s =cbbaacdeabb x =4 y =5와 같으면 초기 문자열이 cbbaacdeabb이므로 출력은 14가 되고 cbbaacde(ab)b를 제거하여 4를 얻으면 이제 문자
n개의 꼭짓점과 m개의 모서리가 있는 가중치 그래프가 있다고 가정합니다. 간선의 가중치는 2입니다. 모든 정점은 그래프의 모든 정점에서 도달할 수 있으며 이동 비용은 그래프의 모든 간선 가중치를 더한 것입니다. 각 정점 쌍 사이의 최소 비용 합계를 결정해야 합니다. 따라서 입력이 다음과 같으면 그리고 정점의 수(n) =6; 그러면 출력은 2696이 됩니다. 모든 거리의 합은 2696입니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − par_finder() 함수를 정의합니다. 이것은 내가 걸릴 것입니다, par
n개의 도시가 있고 도시가 두 가지 유형의 도로로 연결되어 있다고 가정합니다. 고속도로와 지름길. 이제 지도가 있고 지도에는 고속도로만 있고 모든 지름길은 없습니다. 도시의 교통부는 고속도로와 지름길을 활용하여 도시를 연결하는 교통수단을 출시하고자 합니다. 우리는 두 도시 사이에 고속도로가 없을 때 두 도시 사이에 지름길이 있다는 것을 알고 있습니다. 여기서 우리의 임무는 시작 도시에서 다른 모든 도시까지의 지름길로 최소 거리를 찾는 것입니다. 따라서 입력이 다음과 같으면 시작 정점(들)이 1이면 출력은 3 1 2가 됩니다.
숫자 n이 있다고 가정하고 다음 규칙을 모두 충족하는 시퀀스를 찾아야 합니다. - 1은 시퀀스에서 한 번 발생합니다. 2와 n 사이의 각 숫자는 순서대로 두 번 나타납니다. 범위 2에서 n까지의 모든 i에 대해 i의 두 발생 사이의 거리는 정확히 i입니다. 시퀀스의 두 숫자 a[i]와 a[j] 사이의 거리는 |j - i|입니다. 사전순으로 가장 큰 시퀀스를 찾아야 합니다. 따라서 입력이 n =4와 같으면 출력은 [4, 2, 3, 2, 4, 3, 1]이 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다.
다음 알고리즘으로 S 값을 계산할 수 있는 요소 목록이 있다고 가정합니다. while size of L > 1 is non-zero, do a := L[0] b := L[1] remove L[1] L[0] := a + b + a*b return L[0] mod (10^9 + 7) 여기서 우리는 L의 가능한 모든 조합에서 계산된 모든 S 값의 평균을 찾아야 합니다. 따라서 입력이 L =[5,3,4]와 같으면 출력은 199가 됩니다.