結果
| 問題 |
No.1729 ~サンプルはちゃんと見て!~ 16進数と8進数(1)
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2022-09-07 03:12:24 |
| 言語 | Rust (1.83.0 + proconio) |
| 結果 |
AC
|
| 実行時間 | 1 ms / 2,000 ms |
| コード長 | 1,047 bytes |
| コンパイル時間 | 12,679 ms |
| コンパイル使用メモリ | 379,540 KB |
| 実行使用メモリ | 5,248 KB |
| 最終ジャッジ日時 | 2024-11-22 03:31:40 |
| 合計ジャッジ時間 | 13,399 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 24 |
ソースコード
fn main() {
let mut cc: Vec<char> = {
let mut line = String::new();
std::io::stdin().read_line(&mut line).unwrap();
line.trim().chars().collect()
};
cc.reverse();
let n = cc.len();
let mut counts = [0_u32; 8];
for i in (0..n).step_by(3) {
let mut val = cc[i].to_digit(16).unwrap();
if i + 1 < n {
val += 16 * (cc[i + 1]).to_digit(16).unwrap();
}
if i + 2 < n {
val += 256 * (cc[i + 2]).to_digit(16).unwrap();
}
for _ in 0..4 {
counts[(val % 8) as usize] += 1;
val /= 8;
if val == 0 && i + 3 >= n {
break;
}
}
}
let max = *counts.iter().max().unwrap();
let mut max_indexes = vec![];
for (i, &cnt) in counts.iter().enumerate() {
if cnt == max {
max_indexes.push(i);
}
}
print!("{}", max_indexes[0]);
for &idx in max_indexes.iter().skip(1) {
print!(" {}", idx);
}
println!();
}