package main import "fmt" func main() { //当初の候補 mp := map[int]string{} for i := 0; i <= 9; i++ { mp[i] = "?" } var n int fmt.Scan(&n) for i := 0; i < n; i++ { const m = 4 var a [m]int var r string for j := 0; j < m; j++ { fmt.Scan(&a[j]) } fmt.Scan(&r) switch r { //回答がNOの場合は直接的に候補から外れる case "NO": for j := 0; j < m; j++ { mp[a[j]] = "x" } //回答がYESの場合は間接的に候補から外れる case "YES": mp2 := map[int]string{} for k := 0; k <= 9; k++ { mp2[k] = "x" } for j := 0; j < m; j++ { delete(mp2, a[j]) } for k, _ := range mp2 { mp[k] = "x" } } } for k, v := range mp { if v != "x" { fmt.Println(k) } } }