For problem statement at 0-999/900-999/980-989/985/problemB.txt this is a correct solution, but verifier at 0-999/900-999/980-989/985/verifierB.go ends with All tests passed can you fix the verifier? package main
import (
"io"
"os"
)
type FastScanner struct {
data []byte
pos int
}
func NewFastScanner() *FastScanner {
data, _ := io.ReadAll(os.Stdin)
return &FastScanner{data: data}
}
func (fs *FastScanner) next() string {
n := len(fs.data)
for fs.pos < n && fs.data[fs.pos] <= ' ' {
fs.pos++
}
start := fs.pos
for fs.pos < n && fs.data[fs.pos] > ' ' {
fs.pos++
}
return string(fs.data[start:fs.pos])
}
func (fs *FastScanner) nextInt() int {
n := len(fs.data)
for fs.pos < n && fs.data[fs.pos] <= ' ' {
fs.pos++
}
sign := 1
if fs.data[fs.pos] == '-' {
sign = -1
fs.pos++
}
val := 0
for fs.pos < n && fs.data[fs.pos] > ' ' {
val = val*10 + int(fs.data[fs.pos]-'0')
fs.pos++
}
return val * sign
}
func main() {
fs := NewFastScanner()
n := fs.nextInt()
m := fs.nextInt()
rows := make([]string, n)
cnt := make([]int, m)
for i := 0; i < n; i++ {
s := fs.next()
rows[i] = s
for j := 0; j < m; j++ {
if s[j] == '1' {
cnt[j]++
}
}
}
for i := 0; i < n; i++ {
ok := true
s := rows[i]
for j := 0; j < m; j++ {
if s[j] == '1' && cnt[j] == 1 {
ok = false
break
}
}
if ok {
os.Stdout.WriteString("YES")
return
}
}
os.Stdout.WriteString("NO")
}