結果
問題 | No.2416 vs Slime |
ユーザー | nyst |
提出日時 | 2023-08-12 14:14:24 |
言語 | C++17(gcc12) (gcc 12.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 2 ms / 2,000 ms |
コード長 | 931 bytes |
コンパイル時間 | 3,677 ms |
コンパイル使用メモリ | 199,692 KB |
実行使用メモリ | 6,820 KB |
最終ジャッジ日時 | 2024-11-19 18:04:32 |
合計ジャッジ時間 | 4,684 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 1 |
other | AC * 37 |
ソースコード
#include <iostream> #include <vector> #include <iomanip> #include <algorithm> #include <map> #include <cmath> #include <bitset> #include <string> #include <queue> #include <stack> #include <set> #include <tuple> #include <atcoder/all> #include <sstream> // std::stringstream #include <regex> #include <fstream> using namespace atcoder; using mint = modint998244353; //using mint = modint1000000007; using namespace std; using ll = long long; static const double pi = 3.141592653589793; const int INF = (1 << 29); const ll mod = 998244353; // ifstream ifs(""); ファイルはワークスペースのトップにおく map<ll,ll> mp; ll h,a; ll search(ll h){ if(mp.find(h)!=mp.end()) return mp[h]; if(h == 1) return 1; else if(h==0) return 1; mp[h] = 1+search(h/a) + search(h/a); return mp[h]; } int main() { cin >> h >> a; mp[0] = 0; mp[1] = 1; ll ans = search(h); cout << ans << endl; }