← Home
For problem statement at 1000-1999/1200-1299/1260-1269/1265/problemA.txt this is a correct solution, but verifier at 1000-1999/1200-1299/1260-1269/1265/verifierA.go ends with All tests passed can you fix the verifier? package main

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

func main() {
	scanner := bufio.NewScanner(os.Stdin)
	scanner.Split(bufio.ScanWords)
	buf := make([]byte, 1024*1024)
	scanner.Buffer(buf, 1024*1024)

	if !scanner.Scan() {
		return
	}

	for scanner.Scan() {
		s := []byte(scanner.Text())
		n := len(s)
		for i := 0; i < n; i++ {
			if s[i] == '?' {
				for ch := byte('a'); ch <= 'c'; ch++ {
					if i > 0 && s[i-1] == ch {
						continue
					}
					if i < n-1 && s[i+1] == ch {
						continue
					}
					s[i] = ch
					break
				}
			}
		}

		valid := true
		for i := 0; i < n-1; i++ {
			if s[i] == s[i+1] {
				valid = false
				break
			}
		}

		if valid {
			fmt.Println(string(s))
		} else {
			fmt.Println("-1")
		}
	}
}