Submission #31102065
Source Code Expand
use std::collections::BTreeSet;
use proconio::input;
fn f(n: usize) -> usize {
if n % 2 == 0 {
n / 2
} else {
3 * n + 1
}
}
fn main() {
input! {
s: usize,
};
let mut n = s;
let mut set = BTreeSet::new();
loop {
if !set.insert(n) {
let ans = set.len() + 1;
println!("{}", ans);
break;
}
n = f(n);
}
}
Submission Info
| Submission Time | |
|---|---|
| Task | B - Collatz Problem |
| User | bouzuya |
| Language | Rust (1.42.0) |
| Score | 200 |
| Code Size | 423 Byte |
| Status | AC |
| Exec Time | 7 ms |
| Memory | 2164 KiB |
Judge Result
| Set Name | Sample | All | ||||
|---|---|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 200 / 200 | ||||
| Status |
|
|
| Set Name | Test Cases |
|---|---|
| Sample | s1.txt, s2.txt, s3.txt |
| All | 01.txt, 02.txt, 03.txt, 04.txt, 05.txt, 06.txt, 07.txt, 08.txt, 09.txt, s1.txt, s2.txt, s3.txt |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| 01.txt | AC | 7 ms | 1956 KiB |
| 02.txt | AC | 1 ms | 2080 KiB |
| 03.txt | AC | 1 ms | 1956 KiB |
| 04.txt | AC | 3 ms | 2052 KiB |
| 05.txt | AC | 1 ms | 2052 KiB |
| 06.txt | AC | 1 ms | 2032 KiB |
| 07.txt | AC | 2 ms | 2080 KiB |
| 08.txt | AC | 2 ms | 2092 KiB |
| 09.txt | AC | 1 ms | 2164 KiB |
| s1.txt | AC | 1 ms | 2076 KiB |
| s2.txt | AC | 3 ms | 2160 KiB |
| s3.txt | AC | 2 ms | 1992 KiB |