結果
| 問題 | No.88 次はどっちだ |
| コンテスト | |
| ユーザー |
gogotea
|
| 提出日時 | 2015-04-29 13:04:13 |
| 言語 | Go1.4 (1.4.2) |
| 結果 |
AC
|
| 実行時間 | 2 ms / 5,000 ms |
| コード長 | 1,026 bytes |
| 記録 | |
| コンパイル時間 | 329 ms |
| コンパイル使用メモリ | 33,904 KB |
| 最終ジャッジ日時 | 2025-12-03 10:17:04 |
|
ジャッジサーバーID (参考情報) |
judge3 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 11 |
ソースコード
package main
import (
"bufio"
"fmt"
"io"
"os"
"strings"
)
const ROWSIZE int = 8
func main() {
sc := NewScanner(os.Stdin)
S, _ := sc.NextLine()
var B [ROWSIZE]string
for i := 0; i < ROWSIZE; i++ {
B[i], _ = sc.NextLine()
}
fmt.Println(solve(S, B))
}
func solve(black string, rows [ROWSIZE]string) string {
players := [...]string{"yukiko", "oda"}
var white string
if black == players[0] {
white = players[1]
} else {
white = players[0]
}
stones := 0
for _, r := range rows {
stones += ROWSIZE - strings.Count(r, ".")
}
if stones%2 == 0 {
return black
} else {
return white
}
}
type Scanner struct {
*bufio.Scanner
}
func NewScanner(r io.Reader) *Scanner {
return &Scanner{
bufio.NewScanner(r),
}
}
func (s *Scanner) NextLine() (string, error) {
s.Scanner.Split(bufio.ScanLines)
return s.nextToken()
}
func (s *Scanner) nextToken() (string, error) {
sc := s.Scanner
if sc.Scan() {
return sc.Text(), nil
}
if sc.Err() != nil {
return "", sc.Err()
}
return "", io.EOF
}
gogotea