比赛 寒假集训5 评测结果 ATTTTTTTTT
题目名称 挚爱时光 最终得分 10
用户昵称 ychyyx 运行时间 10.546 s
代码语言 C++ 内存使用 4.76 MiB
提交时间 2026-03-01 12:53:21
显示代码纯文本
#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;
int T;
int n,k;
int a[10000005];
bool b[10000005];
long long ans;
const long long P=998244353;
void dfs(int u){
    if(u==2*n+1){
        int q=0;
        for(int i=1;i<=n;i++){ 
            if(abs(a[i+n]-a[i])==n)    q++;
        }
        if(q==k)    ans=(ans+1)%P;
        return;
    }
    for(int i=1;i<=n*2;i++){
        if(!b[i]){
            b[i]=1;
            a[u]=i;
            dfs(u+1);
            b[i]=0;
        }
    }
}
void work(int n,int k){
    ans=0;
    dfs(1);
    printf("%lld\n",ans);
} 
int main(){
    freopen("love.in","r",stdin);
    freopen("love.out","w",stdout); 
    scanf("%d",&T);
    while(T--){
        scanf("%d%d",&n,&k);
        work(n,k);
    }    
    return 0;
}