結果
| 問題 |
No.2766 Delicious Multiply Spice
|
| コンテスト | |
| ユーザー |
sho_
|
| 提出日時 | 2024-05-31 21:29:03 |
| 言語 | C++23 (gcc 13.3.0 + boost 1.87.0) |
| 結果 |
AC
|
| 実行時間 | 2 ms / 2,000 ms |
| コード長 | 1,349 bytes |
| コンパイル時間 | 3,333 ms |
| コンパイル使用メモリ | 255,872 KB |
| 実行使用メモリ | 6,820 KB |
| 最終ジャッジ日時 | 2024-12-20 22:26:23 |
| 合計ジャッジ時間 | 4,539 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 8 |
| other | AC * 31 |
ソースコード
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using ql = queue<ll>;
using sl = set<ll>;
using vl = vector<ll>;
using msl = multiset<ll>;
using Graph = vector<vector<ll>>;
using P = pair<ll, ll>;
template <typename T> inline bool chmax(T &a, T b) {
return ((a < b) ? (a = b, true) : (false));
}
template <typename T> inline bool chmin(T &a, T b) {
return ((a > b) ? (a = b, true) : (false));
}
#define rep1(i, n) for(ll i = 1; i <= ((ll)n); ++i)
#define rep(i, n) for(ll i = 0; i < ((ll)n); ++i)
#define ALL(a) (a).begin(), (a).end()
#define rALL(a) (a).rbegin(), (a).rend()
template <typename T> void print(T &d) {
for(auto &i : d)
cout << i << " ";
if(d.size())
cout << endl;
}
map<ll,string> mp;
string f(ll x){
if(mp.count(x))return mp[x];
if(x==1)return mp[x] = "";
if(x%2){
if(f(x/2)!="!")return mp[x] = f(x/2)+"A";
}
if((x%3) == 1){
if(f(x/3)!="!")return mp[x] = f(x/3)+"B";
}
return mp[x] = "!";
}
void solve() {
ll n;cin>>n;
cout<<f(n)<<endl;
}
int main() {
// { // 前処理 MAX=1e6
// rep1(i, MAX) fac[i] = i * fac[i - 1];
// ifac[MAX] = fac[MAX].inv();
// for(ll i = MAX; i >= 1; i--)
// ifac[i - 1] = ifac[i] * (i);
// }
ll t;
t = 1;
// cin >> t;
rep(_, t) solve();
}
sho_