結果
| 問題 |
No.2188 整数列コイントスゲーム
|
| コンテスト | |
| ユーザー |
matsup10
|
| 提出日時 | 2023-01-13 22:52:41 |
| 言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 815 bytes |
| コンパイル時間 | 2,754 ms |
| コンパイル使用メモリ | 251,008 KB |
| 最終ジャッジ日時 | 2025-02-10 03:02:56 |
|
ジャッジサーバーID (参考情報) |
judge5 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 44 WA * 3 |
ソースコード
#include <bits/extc++.h>
using namespace std;
using ll = long long;
#define REP(i,n) for(int i=0;i<int(n);i++)
#define FOR(i,a,b) for(int i=a;i<=int(b);i++)
#define ALL(x) x.begin(),x.end()
#define INF INT_MAX
#define INFL LLONG_MAX
int main() {
vector<vector<ll>> x(20, vector<ll>(20));
vector<vector<ll>> am(20, vector<ll>(20));
x[0][0] = 1;
vector<ll> n1(16);
n1[0] = 1;
REP(i, 15) {
n1[i+1] = n1[i] * (i+1);
}
REP(i, 15) {
FOR(j, 0, i) {
x[i+1][j+1] += x[i][j];
x[i+1][j] -= i * x[i][j];
}
}
FOR(i, 1, 15) {
am[i][i] = n1[i];
FOR(j, 1, i-1) {
FOR(k, 1, 15) {
am[i][k] -= x[i][j] * am[j][k];
}
}
}
ll n, m;
cin >> n >> m;
if(n == 0) cout << "NaN";
else if(m > n) cout << 0;
else cout << am[n][m];
return 0;
}
matsup10