比赛 2022级DP专题练习赛4 评测结果 EEEEEEEEEE
题目名称 排列计数 最终得分 0
用户昵称 HeSn 运行时间 1.838 s
代码语言 C++ 内存使用 5.74 MiB
提交时间 2023-02-20 20:39:23
显示代码纯文本
#include<bits/stdc++.h>
using namespace std;
#define int long long 
int n, p, ans, cs[30], vis[30];
void dfs(int x) {
	if(x == n + 1) {
		for(int i = 2; i <= n; i ++) {
			if(cs[i] <= cs[i / 2]) {
				return ;
			}
		}
		ans ++;
		return ;
	}
	for(int i = 1; i <= n; i ++) {
		if(!vis[i] && i > cs[x / 2]) {
			vis[i] = 1;
			cs[x] = i;
			dfs(x + 1);
			vis[i] = 0;
		}
	}
}
signed main() {
	freopen("countzj.in", "r", stdin);
	freopen("countzj.out", "w", stdout);
	cin >> n >> p;
	dfs(1);
	cout << ans % p;
    return 0;
}