Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

최대 그룹 수를 계산하는 C++ 코드를 만들 수 있습니다.

<시간/>

n개의 요소가 있는 배열 A가 있다고 가정합니다. n 그룹의 학생이 있었습니다. 그룹은 다른 사람과 함께 코드를 작성할 수 있는 한 사람 또는 같은 팀에서 코드를 작성하려는 두 사람입니다. 그러나 멘토는 정확히 3명으로 구성된 팀을 구성하기로 결정했습니다. 우리는 멘토가 구성할 수 있는 최대 3명의 팀 수를 찾아야 합니다. 2명으로 구성된 그룹의 경우 두 학생 모두 코드를 작성하거나 둘 다 작성하지 않아야 합니다. 2명의 그룹에서 2명의 학생이 코드를 작성할 경우 같은 팀에 있어야 합니다.

따라서 입력이 A =[2, 2, 2, 1, 1, 1, 1]과 같으면 멘토가 다음과 같은 팀을 만들 수 있기 때문에 출력은 3이 됩니다. [두 사람의 첫 번째 그룹과 일곱 번째 그룹 1인분], [두 번째 2인분 및 6번째 1인분], [세 번째 2인분 및 4인분 그룹].

단계

이 문제를 해결하기 위해 다음 단계를 따릅니다. −

p :=0q :=0x :=초기화 i :=0에 대한 A의 크기, i 
 q이면 q를 반환합니다. 

예시

이해를 돕기 위해 다음 구현을 살펴보겠습니다. −

#include 네임스페이스 std;int solve(vector A){ int p =0, q =0; 정수 x =A.크기(); for (int i =0; i 
 q){ return q + (p - q) / 3; } else if (p  A ={ 2, 2, 2, 1, 1, 1, 1 }; cout <<해결(A) < 

입력

{ 2, 2, 2, 1, 1, 1, 1 }

출력

3