結果

問題 No.726 Tree Game
ユーザー fmhr
提出日時 2018-08-24 22:11:27
言語 Go
(1.11.2)
結果
AC  
実行時間 3 ms
コード長 2,124 Byte
コンパイル時間 371 ms
使用メモリ 3,016 KB
最終ジャッジ日時 2019-05-04 21:05:06

テストケース

テストケース表示
入力 結果 実行時間
使用メモリ
1_1.txt AC 1 ms
3,008 KB
1_2.txt AC 1 ms
3,008 KB
2_1.txt AC 2 ms
3,008 KB
2_2.txt AC 1 ms
3,012 KB
2_3.txt AC 1 ms
3,008 KB
2_4.txt AC 1 ms
3,008 KB
2_5.txt AC 1 ms
3,008 KB
3_1.txt AC 1 ms
3,012 KB
3_2.txt AC 1 ms
3,008 KB
3_3.txt AC 1 ms
3,008 KB
4_1.txt AC 2 ms
3,012 KB
4_2.txt AC 2 ms
3,008 KB
4_3.txt AC 1 ms
3,012 KB
4_4.txt AC 1 ms
3,008 KB
4_5.txt AC 1 ms
3,008 KB
4_6.txt AC 1 ms
3,012 KB
5_1.txt AC 1 ms
3,008 KB
5_2.txt AC 3 ms
3,012 KB
5_3.txt AC 1 ms
3,016 KB
5_4.txt AC 3 ms
3,008 KB
5_5.txt AC 3 ms
3,008 KB
6_1.txt AC 3 ms
3,012 KB
6_2.txt AC 3 ms
3,008 KB
6_3.txt AC 3 ms
3,008 KB
6_4.txt AC 2 ms
3,012 KB
テストケース一括ダウンロード

ソースコード

diff #
package main

import (
	"bufio"
	"bytes"
	"fmt"
	"log"
	"os"
	"strconv"
)

// const abcd = "abcdefghijklmnopqrstuvwxyz"
// const ABCD = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
var dr = [...]int{0, 1, 1, 1, 0, -1, -1, -1, 0}
var dc = [...]int{1, 1, 0, -1, -1, -1, 0, 1, 0}

func isPrime(n int) bool {
	if n == 0 {
		panic("n need 0")
	}
	if n == 1 {
		return false
	}
	if n == 2 {
		return true
	}
	for i := 2; i*i <= n; i++ {
		if n%i == 0 {
			return false
		}
	}
	return true
}

func main() {
	log.SetFlags(log.Lshortfile)
	nextReader = NewScanner()
	Y := nextInt()
	X := nextInt()
	cnt := 0
	if !isPrime(X) {
		for y := Y + 1; ; y++ {
			if !isPrime(y) {
				cnt++
			} else {
				break
			}
		}
	}
	if !isPrime(Y) {
		for x := X + 1; ; x++ {
			if !isPrime(x) {
				cnt++
			} else {
				break
			}
		}
	}
	if cnt%2 == 0 {
		fmt.Println("Second")
	} else {
		fmt.Println("First")
	}
}

func max(a ...int) int {
	r := a[0]
	for i := 0; i < len(a); i++ {
		if r < a[i] {
			r = a[i]
		}
	}
	return r
}
func min(a ...int) int {
	r := a[0]
	for i := 0; i < len(a); i++ {
		if r > a[i] {
			r = a[i]
		}
	}
	return r
}
func sum(a []int) (r int) {
	for i := range a {
		r += a[i]
	}
	return r
}
func minmax(a, b int) (int, int) {
	if a > b {
		return b, a
	}
	return a, b
}

func abs(a int) int {
	if a < 0 {
		return -a
	}
	return a
}

func printInts(out []int, str string) {
	var bb bytes.Buffer
	for i := range out {
		bb.WriteString(strconv.Itoa(out[i]))
		bb.WriteString(str)
	}
	fmt.Println(bb.String())
}

var nextReader func() string

func NewScanner() func() string {
	r := bufio.NewScanner(os.Stdin)
	r.Buffer(make([]byte, 1024), int(1e+11))
	r.Split(bufio.ScanWords)
	return func() string {
		r.Scan()
		return r.Text()
	}
}
func nextString() string {
	return nextReader()
}
func nextInt64() int64 {
	v, _ := strconv.ParseInt(nextReader(), 10, 64)
	return v
}
func nextInt() int {
	v, _ := strconv.Atoi(nextReader())
	return v
}
func nextInts(n int) []int {
	r := make([]int, n)
	for i := 0; i < n; i++ {
		r[i] = nextInt()
	}
	return r
}
func nextFloat64() float64 {
	f, _ := strconv.ParseFloat(nextReader(), 64)
	return f
}
0