https://atcoder.jp/contests/abc249/tasks/abc249_b
大文字小文字判定は、is_uppercase/is_lowercaseです。
// Perfect String #![allow(non_snake_case)] use std::collections::HashSet; fn read<T: std::str::FromStr>() -> T { let mut line = String::new(); std::io::stdin().read_line(&mut line).ok(); line.trim().parse().ok().unwrap() } fn is_all_different_chars(S: &String) -> bool { let mut s = HashSet::<char>::new(); for c in S.chars() { if s.contains(&c) { return false } s.insert(c); } return true } fn is_perfect(S: &String) -> bool { S.chars().any(|c| c.is_lowercase()) && S.chars().any(|c| c.is_uppercase()) && is_all_different_chars(&S) } fn main() { let S: String = read(); println!("{}", if is_perfect(&S) { "Yes" } else { "No" }); }