#include using namespace std; int a[10000], N, i, ans = 0; void findAns(int a[], int start, int An) //国家可派出数组a,当前派出第start国家,已经组合An人 { if (start == N) //找到最后一个国家后 { if (An == 5) ans++; //如果组合人数An等于派出人数5; return; } for (i = 0; i <= a[start]; i++) //派出第n个国家人数的人数,需检查人数是否满足规范 { findAns(a, start + 1, An + i); //查找下一个国家,记录已经组合数An } } int main() { //输入规模及数据 cin >> N; for (i = 0; i < N; i++) { cin >> a[i]; } findAns(a, 0, 0); cout << ans << endl; return 0; }