C++中從兩組人員中最多可組建3人團隊的數量
在這個問題中,我們給定兩個整數N和M,N是第一組的人數,M是第二組的人數。我們的任務是建立一個程式來查詢從兩組中最多可以組建的3人團隊的數量。
我們將透過從這些組中選擇一個人來建立3人團隊,以便可以組建最多的團隊。每個團隊必須至少有一名來自每個組的人員。
讓我們舉個例子來理解這個問題:
輸入 - N = 5, M = 3
輸出 - 2
解釋 -
團隊將如下所示:
Team 1: Group 1 Member->2 ; Group 2 Member->1 Left in Group 1 = 3 ; left in Group 2 = 2 Team 2: Group 1 Member->2 ; Group 2 Member->1 Left in Group 1 = 1 ; left in Group 2 = 1 No more teams of 3 can be formed.
為了解決這個問題,我們將從人數較少的小組中選取1名成員,從另一個小組中選取2名成員來建立團隊。並且更新每個組的人員數量。 此外,我們將維護一個團隊計數,並在每次建立團隊後遞增它,直到無法建立團隊為止。
示例
程式用於查詢從兩組中最多可以組建的3人團隊的數量:
#include <iostream>
using namespace std;
int CountTeams(int N, int M) {
int teamCount = 0;
while (N >= 1 && M >= 1 && N + M >= 3) {
if (N > M) {
N = N-2;
M = M-1;
}
else {
N = N-1;
M = M-2;
}
teamCount++;
}
return teamCount;
}
int main() {
int N = 5, M = 3;
cout<<"The maximum number of 3-person teams is "<<CountTeams(N, M);
return 0;
}輸出
The maximum number of 3-person teams is 2
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP