- 592 名前:デフォルトの名無しさん mailto:sage [2005/05/22(日) 21:57:54 ]
- >>591
こんなのでどうかな。 題意を理解していないので間違ってたらスマソ import List inEqvCl :: Eq a => (a, a) -> [(a, a)] -> Bool inEqvCl _ [] = False inEqvCl (x, y) s | x == y = True | y `elem` ns = True | otherwise = any con ns where ns = map snd $ filter ((==x) . fst) exts exts = s ++ map (uncurry $ flip (,)) s con n = inEqvCl (n, y) (s\\[(x, n), (n, x)])
|

|