← Home
For problem statement at 0-999/100-199/160-169/168/problemB.txt this is a correct solution, but verifier at 0-999/100-199/160-169/168/verifierB.go ends with All tests passed can you fix the verifier? package main

import (
	"bufio"
	"bytes"
	"io"
	"os"
)

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

	var run bytes.Buffer
	inRun := false

	for {
		line, err := reader.ReadBytes('\n')
		if err != nil && err != io.EOF {
			break
		}
		if len(line) == 0 && err == io.EOF {
			break
		}
		if len(line) > 0 && line[len(line)-1] == '\n' {
			line = line[:len(line)-1]
		}
		if len(line) > 0 && line[len(line)-1] == '\r' {
			line = line[:len(line)-1]
		}

		i := 0
		for i < len(line) && line[i] == ' ' {
			i++
		}
		amplifying := i < len(line) && line[i] == '#'

		if amplifying {
			if inRun {
				writer.Write(run.Bytes())
				writer.WriteByte('\n')
				run.Reset()
				inRun = false
			}
			writer.Write(line)
			writer.WriteByte('\n')
		} else {
			if !inRun {
				inRun = true
				run.Reset()
			}
			for j := 0; j < len(line); j++ {
				if line[j] != ' ' {
					run.WriteByte(line[j])
				}
			}
		}

		if err == io.EOF {
			break
		}
	}

	if inRun {
		writer.Write(run.Bytes())
		writer.WriteByte('\n')
	}
}