結果
問題 | No.1729 ~サンプルはちゃんと見て!~ 16進数と8進数(1) |
ユーザー |
![]() |
提出日時 | 2021-11-05 23:51:22 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 3 ms / 2,000 ms |
コード長 | 1,234 bytes |
コンパイル時間 | 1,807 ms |
コンパイル使用メモリ | 170,180 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-11-06 15:47:54 |
合計ジャッジ時間 | 2,645 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 24 |
ソースコード
#include "bits/stdc++.h" using namespace std; long long int MOD = 998244353; int main(){ string n; cin >> n; string ans =""; reverse(n.begin(),n.end()); long long int dp[4] = {1,2,4,0}; long long int os[20000] = {}; for(long long int i = 0;i < n.size();i++){ if(n[i] == 'A'){ ans = ans + "0101"; }else if(n[i] == 'B'){ ans = ans + "1101"; }else if(n[i] == 'C'){ ans = ans + "0011"; }else if(n[i] == 'D'){ ans = ans + "1011"; }else if(n[i] == 'E'){ ans = ans + "0111"; }else{ ans = ans + "1111"; } } //cout << ans <<endl; long long int c = 0; for(long long int i = 0;i < ans.size();i++){ if(ans[i] == '1'){ os[c/3] = os[c/3] + dp[c%3]; } c++; } long long int an[10] = {}; for(long long int i = 0;i < (c+2)/3;i++){ an[os[i]]++; } long long int ma = 0; for(long long int i = 0;i < 10;i++){ ma = max(ma,an[i]); //cout << i <<" "<<an[i]<<endl; } for(long long int i = 0;i < 10;i++){ if(an[i] == ma){ cout << i << " "; } } cout <<endl; }