← Home
For problem statement at 2000-2999/2100-2199/2160-2169/2162/problemB.txt this is a correct solution, but verifier at 2000-2999/2100-2199/2160-2169/2162/verifierB.go ends with reference failed on test 1 (single_char): runtime error: exit status 1
stat /home/ubuntu/codeforces/2000-2999/2100-2199/2160-2169/2162/2000-2999/2100-2199/2160-2169/2162/2162B.go: no such file or directory

input:
1
1 a
exit status 1 can you fix the verifier? package main

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

func isPalindrome(b []byte) bool {
	for l, r := 0, len(b)-1; l < r; l, r = l+1, r-1 {
		if b[l] != b[r] {
			return false
		}
	}
	return true
}

func main() {
	in := bufio.NewReader(os.Stdin)
	var t int
	fmt.Fscan(in, &t)

	var out bytes.Buffer

	for ; t > 0; t-- {
		var n int
		var s string
		fmt.Fscan(in, &n, &s)

		found := false
		for mask := 0; mask < (1 << n); mask++ {
			ok := true
			seenOne := false
			var rem []byte

			for i := 0; i < n; i++ {
				if (mask>>i)&1 == 1 {
					if s[i] == '1' {
						seenOne = true
					} else if seenOne {
						ok = false
						break
					}
				} else {
					rem = append(rem, s[i])
				}
			}

			if !ok || !isPalindrome(rem) {
				continue
			}

			k := 0
			for i := 0; i < n; i++ {
				if (mask>>i)&1 == 1 {
					k++
				}
			}

			fmt.Fprintln(&out, k)
			first := true
			for i := 0; i < n; i++ {
				if (mask>>i)&1 == 1 {
					if !first {
						out.WriteByte(' ')
					}
					first = false
					fmt.Fprint(&out, i+1)
				}
			}
			out.WriteByte('\n')
			found = true
			break
		}

		if !found {
			fmt.Fprintln(&out, -1)
		}
	}

	fmt.Print(out.String())
}