Return to problem list2019-qual Problem A
Final solution
func start() {
var t int
mustReadLineOfInts(&t)
for i := 0; i < t; i++ {
n := mustReadLine()
stdout.WriteString("Case #")
stdout.WriteString(strconv.Itoa(i + 1))
stdout.WriteString(": ")
bNum := make([]bool, len(n))
for i := 0; i < len(n); i++ {
if n[i] == '4' {
bNum[i] = true
stdout.WriteByte('3')
} else {
stdout.WriteByte(byte(n[i]))
}
}
stdout.WriteString(" ")
initialDigitWritten := false
for i := 0; i < len(bNum); i++ {
if !bNum[i] {
if initialDigitWritten {
stdout.WriteByte('0')
}
} else {
initialDigitWritten = true
stdout.WriteByte('1')
}
}
if !initialDigitWritten {
stdout.WriteByte('0')
}
stdout.WriteByte('\n')
}
}
Sample test cases given in question
3
4
940
4444