Jerrlee's blog

Jerrlee's blog

CF1658B 题解

posted on 2022-04-16 22:02:38 | under 题解 |

题意

见原题。

思路

需要分类讨论。

我们需要 $i \times p_i$ 的每一个值的奇偶性一样。

分奇偶两类看:

  • $n$ 为奇,会发现肯定有一个 $i \times p_i$ 是奇乘偶的形式,但是 $n$ 为奇数,所以一定不可能,输出 $0$。

  • $n$ 为偶,尝试让每一个奇数乘以偶数,这样所有的 $i \times p_i$ 的值都是偶数。

记得取模。

代码

#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;
    }
}

AC 记录