結果
問題 | No.2766 Delicious Multiply Spice |
ユーザー |
|
提出日時 | 2024-05-31 21:51:58 |
言語 | C++23 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 3 ms / 2,000 ms |
コード長 | 1,631 bytes |
コンパイル時間 | 3,155 ms |
コンパイル使用メモリ | 254,496 KB |
実行使用メモリ | 6,820 KB |
最終ジャッジ日時 | 2024-12-20 23:14:04 |
合計ジャッジ時間 | 4,387 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 8 |
other | AC * 31 |
ソースコード
#include<bits/stdc++.h>using namespace std;#include<atcoder/modint>using namespace atcoder;#ifdef DEFINED_ONLY_IN_LOCAL#include <dump.hpp>#define dump(...) cpp_dump(__VA_ARGS__)#else#undef dump#define dump(...)#endiftemplate<class T>inline bool chmax(T &a,T b){if(a<b){a=b;return true;}return false;}template<class T>inline bool chmin(T &a,T b){if(a>b){a=b;return true;}return false;}#define rep1(i,a) for(int i=0;i<(int)(a);i++)#define rep2(i,a,b) for(int i =(int)(a);i<(int)(b);i++)#define rep3(i,a,b,c) for(int i=(int)(a);i<(int)(b);i+=(int)(c))#define overloadRep(a,b,c,d,e,...)e#define rep(...) overloadRep(__VA_ARGS__,rep3,rep2,rep1)(__VA_ARGS__)#define rrep(i,a,b) for(int i=(int)(a);i<=(int)(b);i++)#define drep(i,a,b) for(int i=(int)(a);i>=(int)(b);i--)#define all(a) a.begin(),a.end()#define rall(a) a.rbegin(),a.rend()using P=pair<long,long>;using T=tuple<long,long,long>;const int inf=1e9;const long INF=1e18;const int dx[4]={0,1,0,-1};const int dy[4]={1,0,-1,0};bool bit(long x, int p){return (x>>p)&1;}bool out(int ni, int nj, int h, int w){return (ni<0 or ni>=h or nj<0 or nj>=w);}int pc(long x){return __builtin_popcountl(x);}using mint=modint998244353;int main(){long n;cin>>n;map<long, bool>memo;//map<long, string>ans;string ans;auto f=[&](auto f,long x,string now) -> void {if(memo[x])return;memo[x]=true;if(x==1)ans=now;if((x-1)%2==0 and (x-1)/2>=1)f(f,(x-1)/2,now+'A');if((x-1)%3==0 and (x-1)/3>=1)f(f,(x-1)/3,now+'B');};f(f,n,"");reverse(all(ans));cout<<ans<<endl;return 0;}