← Home
For problem statement at 0-999/900-999/920-929/928/problemA.txt this is a correct solution, but verifier at 0-999/900-999/920-929/928/verifierA.go ends with All tests passed can you fix the verifier? package main

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

func canon(s string) string {
	b := []byte(s)
	for i := 0; i < len(b); i++ {
		c := b[i]
		if c >= 'A' && c <= 'Z' {
			c = c + 'a' - 'A'
		}
		switch c {
		case 'o', '0':
			b[i] = '0'
		case '1', 'l', 'i':
			b[i] = '1'
		default:
			b[i] = c
		}
	}
	return string(b)
}

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

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

	cs := canon(s)
	ans := "Yes"
	for i := 0; i < n; i++ {
		var t string
		fmt.Fscan(in, &t)
		if len(t) == len(s) && canon(t) == cs {
			ans = "No"
			break
		}
	}
	fmt.Fprintln(out, ans)
}