โจทย์ข้อนี้เป็นโจทย์คณิตศาสตร์ หากมีคนทั้งหมด
-
$N$ เป็นจำนวนคู่ เราทราบว่าทั้งสองทีมจะต้องมีสมาชิกเท่ากัน ดังนั้นจำนวนวิธีในการจัดทีมจะเท่ากับจำนวนวิธีในการเลือกคน$\frac N2$ คนจากทั้งหมด$N$ คน เพื่อมาลงในทีมแรก และให้อีก$\frac N2$ คนที่เหลืออยู่ทีมที่สอง ดังนั้นจำนวนวิธีคือ$\binom{N}{\frac N2}$ -
$N$ เป็นจำนวนคี่ เราทราบว่าทั้งสองทีมจะต้องมีสมาชิกต่างกันหนึ่งคนพอดี ดังนั้นจะมีอีกสองกรณีย่อย นั่นคือ- ทีมแรกมี
$\frac{N-1}{2}$ คน จำนวนวิธีในการจัดทีมจะเท่ากับ$\binom{N}{\frac{N-1}2}$ - ทีมแรกมี
$\frac{N+1}{2}$ คน จำนวนวิธีในการจัดทีมจะเท่ากับ$\binom{N}{\frac{N+1}2}$
- ทีมแรกมี
แต่เราทราบว่า
เราสามารถคำนวน
#include<bits/stdc++.h>
using namespace std;
int combo (int n, int r) {
long long result = 1;
for (int i = r+1; i <= n; i++) result *= i;
for (int i = 2; i <= n-r; i++) result /= i;
return result;
}
int main () {
int n; cin >> n;
long long answer = combo(n, n/2);
if (n % 2 == 1) answer *= 2;
cout << answer;
return 0;
}