Comment detail

トランプの和と積のパズル (Nested Flatten)

This comment is reply for 6478 genzou: 問題のご認識があるかもしれません。 気...(トランプの和と積のパズル). Go to thread root.

トランプが9マイしかないロジックになってしまっていました・・・・ 修正。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
// 準備
def patterns = []
(1..13).each{ x ->
    (x..13).each{ y ->
        patterns << [x:x, y:y, a:x*y, b:x+y]
    }
}


println "=====シミュレーション====="
patterns.each{ pattern ->
    try{
        // ■Aさんから見た回答
        def avalue = pattern.a
        def potentialsA = patterns
        potentialsA = potentialsA.findAll{
            it.a == avalue
        }
        if( potentialsA.size() == 1 ){
            throw new Exception("わかってるジャン!")
        }
        
        
        // ■Bさんから見た回答
        def bvalue = pattern.b
        def potentialsB = patterns
        potentialsB = potentialsB.findAll{
            it.b == bvalue
        }
        if( potentialsB.size() == 1 ){
            throw new Exception("わかってるジャン!")
        }
        //println potentialsB.size()
        //println potentialsB
        // Aさんの回答として2つ以上あるものを抜き出し
        if( potentialsB.collect{ it.a }.unique().size() <= 1 ){
            // 回答がわかっている
            throw new Exception()
        }
        
        
        // ■結果
        def potentials = potentialsA.intersect(potentialsB)
        if( potentials.size() >= 2 ){
            throw new Exception()
        }
        
        println "■カードは ${pattern.x} と ${pattern.y}"
    } catch ( Exception ){
        // 次へ
    }
}

Index

Feed

Other

Link

Pathtraq

loading...