← Home
For problem statement at 1000-1999/1100-1199/1110-1119/1117/problemE.txt this is a correct solution, but verifier at 1000-1999/1100-1199/1110-1119/1117/verifierE.go ends with All tests passed can you fix the verifier? package main

import (
	"bufio"
	"fmt"
	"os"
)

func main() {
	in := bufio.NewReader(os.Stdin)
	out := bufio.NewWriter(os.Stdout)
	defer out.Flush()

	var t string
	if _, err := fmt.Fscan(in, &t); err != nil {
		return
	}

	n := len(t)
	responses := make([]string, 3)

	for k := 0; k < 3; k++ {
		q := make([]byte, n)
		for i := 0; i < n; i++ {
			x := i
			for d := 0; d < k; d++ {
				x /= 26
			}
			q[i] = byte('a' + x%26)
		}
		fmt.Fprintln(out, "?", string(q))
		out.Flush()

		if _, err := fmt.Fscan(in, &responses[k]); err != nil {
			return
		}
		if responses[k] == "-1" {
			return
		}
	}

	ans := make([]byte, n)
	tb := []byte(t)
	for j := 0; j < n; j++ {
		idx := int(responses[0][j]-'a') + 26*int(responses[1][j]-'a') + 26*26*int(responses[2][j]-'a')
		if idx >= 0 && idx < n {
			ans[idx] = tb[j]
		}
	}

	fmt.Fprintln(out, "!", string(ans))
	out.Flush()
}