結果
問題 |
No.420 mod2漸化式
|
ユーザー |
![]() |
提出日時 | 2020-01-09 17:18:56 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 2 ms / 1,000 ms |
コード長 | 687 bytes |
コンパイル時間 | 1,395 ms |
コンパイル使用メモリ | 172,096 KB |
実行使用メモリ | 6,820 KB |
最終ジャッジ日時 | 2024-11-23 03:58:12 |
合計ジャッジ時間 | 2,290 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 1 |
other | AC * 35 |
ソースコード
#include<bits/stdc++.h> using namespace std; #ifdef LOCAL_DEBUG #include "LOCAL_DEBUG.hpp" #endif #define int long long vector<vector<int>> Combination_dp(int n){ vector<vector<int>> dp(n+1,vector<int>(n+1)); //dp[n][r] = nCr for(int i = 0; i <= n; i++){ dp[i][0] = 1; for(int j = 1; j <= i; j++){ dp[i][j] = dp[i-1][j-1] + dp[i-1][j]; } } return dp; } signed main(){ int x; cin >> x; if(x == 0){ cout << "1 0" << endl; return 0; } x = min(32LL, x); auto dp = Combination_dp(40); unsigned long long res = 0; for(int i = 0; i < 31; i++){ res += (1 << i) * dp[30][x-1]; } cout << dp[31][x] << " " << res << endl; return 0; }