本文主要是介绍B. Marin and Anti-coprime Permutation,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
B. Marin and Anti-coprime Permutation
题意:
构造一个排列满足
题解
考虑n等于2的时候
gcd(1p1,2p2)
容易想到最小的最大公约数为2,而且也只有可能为2.只要考虑二者的奇偶性与长度,当奇数与偶数个数不同时无解,否则将奇偶交错即可构造出一个合法方案。用乘法原理计数即可。
1-n:奇 偶 奇 偶
P:偶 奇 偶 奇
#include<iostream>
using namespace std;
int main(){int t;cin>>t;while(t--){long long n,ans=1;cin>>n;if(n%2){cout<<"0\n";continue;}for(int i=2;i<=n/2;i++){ans*=i*i;ans%=998244353;}cout<<ans<<endl;}
}
这篇关于B. Marin and Anti-coprime Permutation的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!