← Back to List

34998번: 1, 2, 3, 많다! ↗

Solutions

Go
815 B | 815 chars
package main

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

var writer *bufio.Writer
var reader *bufio.Reader

func Print(a ...interface{}) {
	fmt.Fprintln(writer, a...)
}

func ReadInt() int {
	var n int
	fmt.Fscan(reader, &n)
	return n
}

func ReadStringSlice(size int) []string {
	ret := make([]string, size)
	for i := 0; i < size; i++ {
		fmt.Fscan(reader, &ret[i])
	}
	return ret
}

func Solve() {
	k := ReadInt()
	s := ReadStringSlice(k*2 + 1)

	ans := 0

	for i := 0; i < 2*k+1; i += 2 {
		if s[i] == "!" {
			ans = -1
			break
		}

		ans += int(s[i][0] - '0')
	}

	if ans > 9 {
		ans = -1
	}

	if ans == -1 {
		Print("!")
		return
	}

	Print(ans)
}

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

	tc := ReadInt()
	for i := 0; i < tc; i++ {
		Solve()
	}
}