20 lines
475 B
Rust
20 lines
475 B
Rust
use proconio::input;
|
|
|
|
fn dfs(digits: &Vec<u64>, i: usize, sum: u64, counter: u64) -> u64{
|
|
if i < digits.len(){
|
|
dfs(digits, i + 1, sum + counter, digits[i]) + dfs(digits, i + 1, sum, counter * 10 + digits[i])
|
|
} else{
|
|
sum + counter
|
|
}
|
|
}
|
|
|
|
fn main() {
|
|
input!{
|
|
s: String,
|
|
};
|
|
|
|
let ns : Vec<u64> = s.chars().map(|c| u64::from(c.to_digit(10).unwrap())).collect();
|
|
let result = dfs(&ns, 1, 0, ns[0]);
|
|
|
|
println!("{}", {result});
|
|
} |