- 信封问题
1
- @ 2026-8-5 11:12:25
#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define pii pair<int, int>
const int N = 20;
ll C[N + 1][N + 1];
void init() {
C[0][0] = 1;
for (int i = 1; i <= N; i++) {
C[i][0] = 1;
for (int j = 1; j <= i; j++) {
C[i][j] = C[i - 1][j] + C[i - 1][j - 1];
}
}
}
void solve() {
int n;
cin >> n;
vector<ll> f(n + 1, 1);
for (int i = 1; i <= n; i++) {
f[i] = f[i - 1] * i;
}
ll res = f[n];
for (int c = 1; c <= n; c++) {
res -= (c % 2 == 1 ? 1 : -1) * C[n][c] * f[n - c];
}
cout << res << '\n';
}
signed main() {
ios::sync_with_stdio(0); cin.tie(0);
init();
int t = 1;
// cin >> t;
while (t--) solve();
return 0;
}
/*
g++ -std=c++17 1.cpp -o 1 && 1 < in.txt > out.txt
g++ -std=c++17 1.cpp -o 1 && ./1 < in.txt > out.txt
*/
0 条评论
目前还没有评论...
信息
- ID
- 559
- 时间
- ms
- 内存
- MiB
- 难度
- 2
- 标签
- 递交数
- 25
- 已通过
- 11
- 上传者