結果
問題 | No.423 ハムスター語初級(数詞) |
ユーザー |
![]() |
提出日時 | 2016-09-22 22:55:38 |
言語 | C++11 (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 2 ms / 2,000 ms |
コード長 | 1,071 bytes |
コンパイル時間 | 1,348 ms |
コンパイル使用メモリ | 161,380 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-11-17 15:03:42 |
合計ジャッジ時間 | 1,562 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 1 |
other | AC * 9 |
ソースコード
#include <bits/stdc++.h>#define rep(i, a, n) for(int i = a; i < n; i++)#define repb(i, a, b) for(int i = a; i >= b; i--)#define all(a) a.begin(), a.end()// #define int long longusing namespace std;typedef pair<int, int> P;int change_to_10(string s, int from){int ans=0;rep(i,0,s.size()){ans+=(s[i]-'0')*pow(from,s.size()-1-i);}return ans;}string change_to_n(int n,int to){string s="",t="0123456789";while(n){s+=t[n%to];n/=to;}reverse(all(s));return s;}signed main(){string s, t;cin >> s;if(s == "ham"){cout << "ham" << endl;return 0;}int now = 0;rep(i, 0, s.size()){if(s.substr(now, 4) == "hamu"){t += '1';now += 4;}else{t += '0';now += 3;}if(now >= s.size() - 1) break;}int tmp = change_to_10(t, 2);string r = change_to_n(tmp * 2, 2);string ans = "";rep(i, 0, r.size()){if(r[i] == '1') ans += "hamu";else ans += "ham";}cout << ans << endl;}