結果

問題 No.227 簡単ポーカー
ユーザー ishowtaishowta
提出日時 2017-11-13 13:01:19
言語 Nim
(2.0.2)
結果
RE  
(最新)
AC  
(最初)
実行時間 -
コード長 1,144 bytes
コンパイル時間 3,608 ms
コンパイル使用メモリ 76,544 KB
実行使用メモリ 5,376 KB
最終ジャッジ日時 2024-06-30 03:23:30
合計ジャッジ時間 4,181 ms
ジャッジサーバーID
(参考情報)
judge3 / judge1
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 RE -
testcase_01 RE -
testcase_02 RE -
testcase_03 RE -
testcase_04 RE -
testcase_05 RE -
testcase_06 RE -
testcase_07 RE -
testcase_08 RE -
testcase_09 RE -
testcase_10 RE -
testcase_11 RE -
testcase_12 RE -
testcase_13 RE -
権限があれば一括ダウンロードができます
コンパイルメッセージ
/home/judge/data/code/Main.nim(1, 95) Warning: Use the new 'sugar' module instead; future is deprecated [Deprecated]

ソースコード

diff #

import system, algorithm, tables, sets, lists, deques, intsets, critbits, sequtils, strutils, future
proc `?`[T](tf:bool,p:proc(r:bool):T):T = p(tf)
proc `|`[T](lhs,rhs:T):proc = (proc(r:bool):T = (if r: lhs else: rhs))
proc numin():auto = readLine(stdin).split().map(parseInt)
proc strin():auto = readLine(stdin).split()
proc sort[T](a: openArray[T], order:SortOrder=Ascending):seq[T] = sorted(a, system.cmp, order)
proc group[T](v:seq[T]):seq[ref seq[T]] =
    var list = newSeq[ref seq[T]](0)
    var st = 0
    for i in 0..v.len-1:
        if v[i] != v[i+1]:
            var sec = new(seq[T])
            sec[] = v[st..i]
            list.add(sec)
            st = i+1
    return list
proc has[T](v:seq[T], vx:varargs[T]):bool=
    var bv:seq[T] = v
    for x in vx:
        let itr = bv.find(x)
        if itr == -1:
            return false
        else:
            bv.del(itr)
    return true

var cv = numin().sort().group().map(x => x[].len).sort().reversed()
if cv.has(3,2):
    echo "FULL HOUSE"
elif cv.has(3):
    echo "THREE CARD"
elif cv.has(2,2):
    echo "TWO PAIR"
elif cv.has(2):
    echo "ONE PAIR"
else:
    echo "NO HAND"
0