提出 #34126395


ソースコード 拡げる

use std::collections::HashMap;

use proconio::{input, marker::Chars};

fn main() {
    input! {
        s: Chars,
        t: Chars,
    };

    let mut rev = HashMap::new();
    let mut map = HashMap::new();
    for (s_i, t_i) in s.iter().copied().zip(t.iter().copied()) {
        match map.get(&s_i) {
            Some(x) => {
                if x == &t_i {
                    continue;
                }
                println!("No");
                return;
            }
            None => {
                map.insert(s_i, t_i);
            }
        }
        match rev.get(&t_i) {
            Some(x) => {
                if x == &s_i {
                    continue;
                }
                println!("No");
                return;
            }
            None => {
                rev.insert(t_i, s_i);
            }
        }
    }

    println!("Yes");
}

提出情報

提出日時
問題 C - String Transformation
ユーザ bouzuya
言語 Rust (1.42.0)
得点 300
コード長 879 Byte
結果 AC
実行時間 17 ms
メモリ 3976 KiB

ジャッジ結果

セット名 Sample All
得点 / 配点 0 / 0 300 / 300
結果
AC × 3
AC × 24
セット名 テストケース
Sample sample_01, sample_02, sample_03
All 0_min0, 0_min1, 1_small0, 1_small1, 1_small2, 2_medium0, 2_medium1, 2_medium2, 2_medium3, 2_medium4, 3_max0, 3_max1, 3_max2, 3_max3, 3_max4, 3_max5, 3_max6, 3_max7, 3_max8, 3_max9, 5_hand0, sample_01, sample_02, sample_03
ケース名 結果 実行時間 メモリ
0_min0 AC 4 ms 2096 KiB
0_min1 AC 1 ms 2012 KiB
1_small0 AC 1 ms 2020 KiB
1_small1 AC 1 ms 2020 KiB
1_small2 AC 2 ms 2164 KiB
2_medium0 AC 4 ms 3632 KiB
2_medium1 AC 9 ms 3416 KiB
2_medium2 AC 3 ms 2428 KiB
2_medium3 AC 10 ms 3752 KiB
2_medium4 AC 7 ms 3488 KiB
3_max0 AC 7 ms 3932 KiB
3_max1 AC 15 ms 3820 KiB
3_max2 AC 5 ms 3956 KiB
3_max3 AC 17 ms 3976 KiB
3_max4 AC 7 ms 3956 KiB
3_max5 AC 5 ms 3828 KiB
3_max6 AC 13 ms 3928 KiB
3_max7 AC 11 ms 3892 KiB
3_max8 AC 12 ms 3932 KiB
3_max9 AC 12 ms 3948 KiB
5_hand0 AC 1 ms 2112 KiB
sample_01 AC 1 ms 1972 KiB
sample_02 AC 1 ms 2040 KiB
sample_03 AC 1 ms 2060 KiB