Submission #1677045


Source Code Expand

package main

import (
	"bufio"
	"fmt"
	"os"
	"strconv"
)
//============================================================
var sc = bufio.NewScanner(os.Stdin)

func setScSplit() { sc.Split(bufio.ScanWords) }

func readStr() string {
	sc.Scan()

	return sc.Text()
}

func readInt() int {
	i, _ := strconv.Atoi(readStr())

	return i
}

func readFloat() float64 {
	f, _ := strconv.ParseFloat(readStr(), 64)

	return f
}
//=============================================================
var N int

type Point struct {
	x, y float64
}

var A, B Point
var P[101] Point

func areCross(u, v Point) bool{
	ux := u.x - A.x; uy := u.y - A.y
	vx := v.x - A.x; vy := v.y - A.y
	bx := B.x - A.x; by := B.y - A.y

	su := bx * uy - by * ux
	sv := bx * vy - by * vx

	return (su > 0 && sv < 0) || (su < 0 && sv > 0)
}

func main(){
	setScSplit()

	A.x = readFloat(); A.y = readFloat()
	B.x = readFloat(); B.y = readFloat()
	N = readInt()

	for i := 0; i < N; i++ {
		xn := readFloat(); yn := readFloat()
		P[i] = Point{x: xn, y: yn }
	}

	cp := 0
	for i := 0; i < N; i++ {
		if areCross(P[i], P[(i + 1) % N]) { cp++ }
	}

	fmt.Println(cp / 2 + 1)
}

Submission Info

Submission Time
Task D - 一刀両断
User Aogiri_m2d
Language Go (1.6)
Score 0
Code Size 1196 Byte
Status WA
Exec Time 1 ms
Memory 640 KB

Judge Result

Set Name All
Score / Max Score 0 / 100
Status
AC × 16
WA × 16
Set Name Test Cases
All 00_sample_00.txt, 00_sample_01.txt, 10_rand_00.txt, 10_rand_01.txt, 10_rand_02.txt, 10_rand_03.txt, 10_rand_04.txt, 10_rand_05.txt, 10_rand_06.txt, 10_rand_07.txt, 10_rand_08.txt, 10_rand_09.txt, 10_rand_10.txt, 10_rand_11.txt, 10_rand_12.txt, 10_rand_13.txt, 10_rand_14.txt, 10_rand_15.txt, 10_rand_16.txt, 10_rand_17.txt, 10_rand_18.txt, 10_rand_19.txt, 10_rand_20.txt, 10_rand_21.txt, 10_rand_22.txt, 10_rand_23.txt, 10_rand_24.txt, 10_rand_25.txt, 10_rand_26.txt, 10_rand_27.txt, 10_rand_28.txt, 10_rand_29.txt
Case Name Status Exec Time Memory
00_sample_00.txt AC 1 ms 640 KB
00_sample_01.txt AC 1 ms 640 KB
10_rand_00.txt WA 1 ms 640 KB
10_rand_01.txt AC 1 ms 640 KB
10_rand_02.txt AC 1 ms 640 KB
10_rand_03.txt AC 1 ms 640 KB
10_rand_04.txt WA 1 ms 640 KB
10_rand_05.txt WA 1 ms 640 KB
10_rand_06.txt WA 1 ms 640 KB
10_rand_07.txt WA 1 ms 640 KB
10_rand_08.txt AC 1 ms 640 KB
10_rand_09.txt AC 1 ms 640 KB
10_rand_10.txt WA 1 ms 640 KB
10_rand_11.txt AC 1 ms 640 KB
10_rand_12.txt AC 1 ms 640 KB
10_rand_13.txt WA 1 ms 640 KB
10_rand_14.txt WA 1 ms 640 KB
10_rand_15.txt AC 1 ms 640 KB
10_rand_16.txt AC 1 ms 640 KB
10_rand_17.txt AC 1 ms 640 KB
10_rand_18.txt WA 1 ms 640 KB
10_rand_19.txt WA 1 ms 640 KB
10_rand_20.txt AC 1 ms 640 KB
10_rand_21.txt AC 1 ms 640 KB
10_rand_22.txt WA 1 ms 640 KB
10_rand_23.txt WA 1 ms 640 KB
10_rand_24.txt AC 1 ms 640 KB
10_rand_25.txt WA 1 ms 640 KB
10_rand_26.txt WA 1 ms 640 KB
10_rand_27.txt WA 1 ms 640 KB
10_rand_28.txt WA 1 ms 640 KB
10_rand_29.txt AC 1 ms 640 KB