题目描述:
给定一个字符串来代表一个员工的考勤纪录,这个纪录仅包含以下两个字符:
'A' : Absent,缺勤
'P' : Present,到场
如果一个员工的考勤纪录中不超过两个'A'(缺勤),那么这个员工会被奖赏。
如果你作为一个员工,想在连续N天的考勤周期中获得奖赏,请问有多少种考勤的组合能够满足要求
输入描述:
考勤周期的天数N(正整数)。
输出描述:
这N天里能获得奖赏的考勤组合数。
输入样例:
3
输出样例:
7
解题思路:
招银网络校招,简单的排列组合问题。这题的本质就是求出的值。
AC代码:
#include <bits/stdc++.h>
using namespace std;
int main()
{
ios::sync_with_stdio(false);
cin.tie(0),cout.tie(0);
int n; //考勤周数的天数N
cin >> n;
if(n == 1) cout << 1 << endl;
else //Cn2+cn1+cn0
{
cout << n*(n-1)/2+n+1 << endl;
}
return 0;
}