結果
問題 | No.423 ハムスター語初級(数詞) |
ユーザー |
|
提出日時 | 2021-09-14 00:11:16 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 3 ms / 2,000 ms |
コード長 | 866 bytes |
コンパイル時間 | 2,037 ms |
コンパイル使用メモリ | 193,104 KB |
実行使用メモリ | 6,944 KB |
最終ジャッジ日時 | 2024-06-26 01:53:57 |
合計ジャッジ時間 | 2,637 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 1 |
other | AC * 9 |
ソースコード
#define _GLIBCXX_DEBUG#define ll long long#include <bits/stdc++.h>using namespace std;int main() {string S; cin >> S;string T = "";if(S == "ham"){cout << S << endl;return 0;}while((int)S.size() != 0){if((int)S.size() == 3){T += "0";S = "";}else{if(S.substr(0, 4) == "hamu"){T += "1";string U = S.substr(4, (int)S.size());S = U;}else{T += "0";string U = S.substr(3, (int)S.size());S = U;}}}int X = 0;reverse(T.begin(), T.end());for(int i = 0; i < (int)T.size(); i++){if(T[i] == '1'){int U = (int)pow(2, i);X += U;}}X *= 2;string ans = "";while(X != 0){if(X%2 == 0) ans += "mah";else ans += "umah";X /= 2;}reverse(ans.begin(), ans.end());cout << ans << endl;}