← Home
For problem statement at 1000-1999/1900-1999/1930-1939/1936/problemA.txt this is a correct solution, but verifier at 1000-1999/1900-1999/1930-1939/1936/verifierA.go ends with All tests passed can you fix the verifier? package main

import (
	"fmt"
)

func main() {
	var t int
	if _, err := fmt.Scan(&t); err != nil {
		return
	}

	for t > 0 {
		t--
		var n int
		fmt.Scan(&n)

		maxIdx := 0
		for i := 1; i < n; i++ {
			fmt.Printf("? %d %d %d %d\n", maxIdx, maxIdx, i, i)
			var resp string
			fmt.Scan(&resp)
			if resp == "<" {
				maxIdx = i
			}
		}

		c := 0
		S := []int{0}
		for i := 1; i < n; i++ {
			fmt.Printf("? %d %d %d %d\n", maxIdx, c, maxIdx, i)
			var resp string
			fmt.Scan(&resp)
			if resp == "<" {
				c = i
				S = []int{i}
			} else if resp == "=" {
				S = append(S, i)
			}
		}

		best := S[0]
		for i := 1; i < len(S); i++ {
			fmt.Printf("? %d %d %d %d\n", best, best, S[i], S[i])
			var resp string
			fmt.Scan(&resp)
			if resp == ">" {
				best = S[i]
			}
		}

		fmt.Printf("! %d %d\n", maxIdx, best)
	}
}