Skip to content

Instantly share code, notes, and snippets.

@greymd
Last active August 29, 2015 14:16
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save greymd/a0063ccf6f556a769563 to your computer and use it in GitHub Desktop.
Save greymd/a0063ccf6f556a769563 to your computer and use it in GitHub Desktop.
SMクラブから、同じOPPAIのカップ数を持ち、身長が小中大になっている女王様三姉妹の組み合わせを抽出する
#!/bin/sh
curl -L urx.nu/ibQd | nkf -wZ | \
sed -n -r '/<p>/{s/\(([0-9]*)\)</\t\1\t</;h;n;y@\(\)@\t\t@;x;G;s@</?p>@@g;y@/@\t@;s/\n//;p}' | \
tr -s '\t' | awk -F'\t' 'NF==7' | cut -f1,3,5 | \
cat list | egison -T -F1,1s -F3s -s '(match-all-lambda
(multiset [string integer string])
[ <cons [$n1 $tal1 $cup]
<cons [$n2 (& ?(gt? $ tal1) $tal2),cup]
<cons [$n3 (& ?(gt? $ tal2) $tal3) ,cup]
_>>>
[cup [n1 tal1] [n2 tal2] [n3 tal3]]])'
# [結果]
# "C" "新人女王様" 165 "蒼夜(せいや)女王様" 170 "雪麗(せつら)女王様" 177
# "C" "新人女王様" 165 "蒼夜(せいや)女王様" 170 "アリス女王様" 178
# "C" "新人女王様" 165 "雪麗(せつら)女王様" 177 "アリス女王様" 178
# "C" "蒼夜(せいや)女王様" 170 "雪麗(せつら)女王様" 177 "アリス女王様" 178
# "C" "新人女王様" 165 "雅(みやび)女王様" 168 "蒼夜(せいや)女王様" 170
# "C" "新人女王様" 165 "雅(みやび)女王様" 168 "雪麗(せつら)女王様" 177
# "C" "新人女王様" 165 "雅(みやび)女王様" 168 "アリス女王様" 178
# "C" "雅(みやび)女王様" 168 "蒼夜(せいや)女王様" 170 "雪麗(せつら)女王様" 177
# "C" "雅(みやび)女王様" 168 "蒼夜(せいや)女王様" 170 "アリス女王様" 178
# ...
@greymd
Copy link
Author

greymd commented Mar 7, 2015

ちなみに同じカップ数で年齢が連番になっているストレートフラッシュ女王様5人組は以下になります。

#!/bin/bash
curl -so- -L urx.nu/ibQd | nkf -wZ | \
sed -n -r '/<p>/{s/\(([0-9]*)\)</\t\1\t</;h;n;y@\(\)@\t\t@;x;G;s@</?p>@@g;y@/@\t@;s/\n//;p}' | \
tr -s '\t' | awk -F'\t' 'NF==7' | cut -f1,2,5 | \
egison -T -F1,1s -F3s -s '(match-all-lambda
    (multiset [string integer string]) [
        <cons [$n1 $age $cup]
            <cons [$n2 ,(+ age 1) ,cup]
                <cons [$n3 ,(+ age 2) ,cup]
                    <cons [$n4 ,(+ age 3) ,cup]
                        <cons [$n5 ,(+ age 4) ,cup]
                            _ >>>>> [n1 n2 n3 n4 n5]])' 

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment