結果
| 問題 |
No.1729 ~サンプルはちゃんと見て!~ 16進数と8進数(1)
|
| コンテスト | |
| ユーザー |
eve__fuyuki
|
| 提出日時 | 2024-11-11 17:31:18 |
| 言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
| 結果 |
AC
|
| 実行時間 | 3 ms / 2,000 ms |
| コード長 | 730 bytes |
| コンパイル時間 | 2,261 ms |
| コンパイル使用メモリ | 203,332 KB |
| 最終ジャッジ日時 | 2025-02-25 03:54:55 |
|
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 24 |
ソースコード
#include <bits/stdc++.h>
using namespace std;
void fast_io() {
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
}
int main() {
fast_io();
string n;
cin >> n;
map<char, string> mp = {
{'A', "1010"}, {'B', "1011"}, {'C', "1100"},
{'D', "1101"}, {'E', "1110"}, {'F', "1111"},
};
string nb = "";
for (char c : n) {
nb += mp[c];
}
reverse(nb.begin(), nb.end());
while (nb.size() % 3) {
nb += "0";
}
int l = nb.size();
int cnt[8] = {};
for (int i = 0; i < l; i += 3) {
int x = 0;
for (int j = 0; j < 3; j++) {
x += (nb[i + j] - '0') * (1 << j);
}
cnt[x]++;
}
int ma = *max_element(cnt, cnt + 8);
for (int i = 0; i < 8; i++) {
if (cnt[i] == ma) {
cout << i << " ";
}
}
cout << endl;
}
eve__fuyuki