1.足球比赛
class Championship {
public:
int Mod(int x,int y){ // 查找最大公因子
if(x%y==0)
return y;
else
return Mod(y,x%y);
}
vector<int> calc(int k) {
vector<int> vec(2,1);
int num = 1; // 表示两强不相遇的数量
for(int i=2*k-1;i>=1;i=i-2) // 所有队的排列方法(分母)
vec[1]*=i;
for(int j=1;j<=k+1;j++)
num*=j;
num=num/2; // 两强不相遇的排列方法 (分子)
vec[0]=vec[1]-num; // 两强相遇
int M=Mod(vec[0],vec[1]);
vec[0]/=M;
vec[1]/=M;
return vec;
}
};