题意:给定n个人 ,n为偶数 ,让它平均分为两组,然后如果两个序列他们的圆排列相同那他们就等价,例如 4,1,2,3 和 3,4,1,2是等价的,问有多少种分法。
思路:好多人都是查oeis,太赖皮了,我还是偷偷摸摸的看题解慢慢懂吧QAQ,那么正确的解法是啥呢,给定了一个长度为n的序列与它等价的序列(包括它自己)有n种,那么将N分成两份,一个序列重复的次数有N*N/4种,那么我们将N全排列,记得除以二,因为两组之间是没有次序的,然后去重,答案就是N!2/(NN)
#include<bits/stdc++.h>
using namespace std;
int main()
{
long long n;
cin>>n;
long long res=1;
for(int i=1;i<=n-1;i++)
res=res*i;
res*=2;
res/=n;
cout<<res<<endl;
}