プログラミングのお題スレ Part22 (858レス)
前次1-
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん

リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
717: デフォルトの名無しさん [sage] 2025/03/29(土) 11:51:50.06 ID:UeqVkFR5(1) AAS
>>714
714(4): デフォルトの名無しさん [] 2025/03/28(金) 22:12:15.09 ID:g08AymBh(1) AAS
お題
AさんがBさんに惚れてることを
A-B
と表します

両思いのペアを出力してください

入力
D-L,U-X,U-Y,U-R,Z-B,B-E,B-M,B-N,V-H,V-X,W-F,W-R,R-B,R-W,O-W,O-S,F-A,Q-X,P-E,P-L,X-X,Y-M,Y-C,L-U,L-V,I-X,E-B,H-M,A-S

出力
B,E
R,W
Rust

use itertools::Itertools;

fn f(input: &str) -> impl Iterator<Item = &str> {
 input.split(',')
  .map(|pair| (pair, pair.splitn(2, '-').collect_tuple().unwrap()))
  .filter(|(_, (a, b))| a < b)
  .flat_map(|(pair, (a, b))| {
   input.split(',')
    .map(|pair| pair.splitn(2, '-').collect_tuple().unwrap())
    .filter_map(move |(x, y)| (a == y && b == x).then_some(pair))
  })
}

fn main() {
 let input = "D-L,U-X,U-Y,U-R,Z-B,B-E,B-M,B-N,V-H,V-X,W-F,W-R,R-B,R-W,O-W,O-S,F-A,Q-X,P-E,P-L,X-X,Y-M,Y-C,L-U,L-V,I-X,E-B,H-M,A-S";
 itertools::assert_equal(["B-E", "R-W"], f(input).sorted());
}
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.034s