For problem statement at 0-999/0-99/0-9/5/problemB.txt this is a correct solution, but verifier at 0-999/0-99/0-9/5/verifierB.go ends with case 3 failed: expected:
**********************
* 4yi53gyks41jmwd28 *
*101 993e0rzwii32yld3*
* 9w37ih *
* a5u51btwrg6jriu9sx *
* icljkrq9e *
**********************
got:
**********************
* 4yi53gyks41jmwd28 *
*101 993e0rzwii32yld3*
* 9w37ih *
* a5u51btwrg6jriu9sx *
* icljkrq9e *
**********************
input:
4yi53gyks41jmwd28
101 993e0rzwii32yld3
9w37ih
a5u51btwrg6jriu9sx
icljkrq9e
exit status 1 can you fix the verifier? package main
import (
"bufio"
"fmt"
"os"
"strings"
)
func main() {
scanner := bufio.NewScanner(os.Stdin)
var lines []string
maxLen := 0
for scanner.Scan() {
line := scanner.Text()
lines = append(lines, line)
if len(line) > maxLen {
maxLen = len(line)
}
}
border := strings.Repeat("*", maxLen+2)
fmt.Println(border)
favorLeft := true
for _, line := range lines {
diff := maxLen - len(line)
var leftPad, rightPad int
if diff%2 == 0 {
leftPad = diff / 2
rightPad = diff / 2
} else {
if favorLeft {
leftPad = diff / 2
rightPad = diff - leftPad
favorLeft = false
} else {
leftPad = diff/2 + 1
rightPad = diff - leftPad
favorLeft = true
}
}
fmt.Printf("*%s%s%s*\n", strings.Repeat(" ", leftPad), line, strings.Repeat(" ", rightPad))
}
fmt.Println(border)
}