結果
問題 | No.423 ハムスター語初級(数詞) |
ユーザー |
|
提出日時 | 2017-07-03 12:20:30 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 2 ms / 2,000 ms |
コード長 | 944 bytes |
コンパイル時間 | 786 ms |
コンパイル使用メモリ | 75,960 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-10-05 11:06:57 |
合計ジャッジ時間 | 1,038 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 1 |
other | AC * 9 |
ソースコード
#include<cstdio>#include <iostream>#include<algorithm>#include<string>#include<queue>#include<vector>#include<functional>#include<cmath>#include<map>#include<stack>#include<set>#include<numeric>#define mod 1000000007;using namespace std;typedef long long ll;typedef pair<ll, ll> Pr;string s;int main(){cin >> s;string str = "";for (int i = 0; i < s.size(); i++) {if (s[i] == 'm') {if (s[i + 1] == 'u')str += "1";elsestr += "0";}}ll num = 0;for (int i = 1; i <= str.size(); i++) {num +=(ll) pow(2, str.size()-i)*(str[i-1]-'0');}num *= 2;if (num == 0) {cout << "ham" << endl;return 0;}int a[51], i = 0;while (num != 0) {if (num % 2 == 0)a[i++] = 0;elsea[i++] = 1;num /= 2;}for (int j = i-1; j >= 0; j--) {if (a[j] == 1)cout << "hamu";elsecout << "ham";}cout << endl;return 0;}