結果
問題 |
No.52 よくある文字列の問題
|
ユーザー |
|
提出日時 | 2020-03-24 23:43:32 |
言語 | Rust (1.83.0 + proconio) |
結果 |
AC
|
実行時間 | 2 ms / 5,000 ms |
コード長 | 732 bytes |
コンパイル時間 | 25,377 ms |
コンパイル使用メモリ | 399,940 KB |
実行使用メモリ | 6,820 KB |
最終ジャッジ日時 | 2025-01-01 18:59:18 |
合計ジャッジ時間 | 24,458 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 11 |
ソースコード
use std::collections::HashSet; use std::io::*; fn rec(l: usize, r: usize, chs: &mut Vec<char>, s: &Vec<char>, st: &mut HashSet<String>) { if l == r { let tmp = chs.clone(); let t: String = tmp.into_iter().collect(); st.insert(t + &s[l].to_string()); } else { chs.push(s[l]); rec(l + 1, r, chs, &s, st); chs.pop(); chs.push(s[r]); rec(l, r - 1, chs, &s, st); chs.pop(); } } fn main() { let mut s: String = String::new(); std::io::stdin().read_to_string(&mut s).ok(); let s: Vec<char> = s.trim().chars().collect(); let mut st = HashSet::new(); rec(0, s.len() - 1, &mut Vec::new(), &s, &mut st); println!("{}", st.len()); }