Submission #2690612


Source Code Expand

package main

import (
	"bufio"
	"fmt"
	"io"
	"os"
	"strconv"
)

var (
	readString func() string
	stdout     *bufio.Writer
)

func init() {
	readString = newReadString(os.Stdin)
	stdout = bufio.NewWriter(os.Stdout)
}

func newReadString(ior io.Reader) func() string {
	r := bufio.NewScanner(ior)
	r.Buffer(make([]byte, 1024), int(1e+11))
	r.Split(bufio.ScanWords)

	return func() string {
		if !r.Scan() {
			panic("Scan failed")
		}
		return r.Text()
	}
}

func readInt() int {
	i, err := strconv.Atoi(readString())
	if err != nil {
		panic(err.Error())
	}
	return i
}

func readIntSlice(n int) []int {
	b := make([]int, n)
	for i := 0; i < n; i++ {
		b[i] = readInt()
	}
	return b
}

func readLengthAndSlice() []int {
	n := readInt()
	return readIntSlice(n)
}

func printf(f string, args ...interface{}) (int, error) {
	return fmt.Fprintf(stdout, f, args...)
}

func println(args ...interface{}) (int, error) {
	return fmt.Fprintln(stdout, args...)
}

func vi(n int, args ...int) []int {
	res := make([]int, n)
	if len(args) == 0 {
		return res
	}
	v := args[0]
	if v == 0 {
		return res
	}
	for i := 0; i < n; i++ {
		res[i] = v
	}
	return res
}

func vvi(n int, args ...int) [][]int {
	res := make([][]int, n)
	m := n
	if len(args) > 0 {
		m = args[0]
	}
	v := 0
	if len(args) > 1 {
		v = args[1]
	}
	for i := 0; i < n; i++ {
		res[i] = vi(m, v)
	}
	return res
}

func round(f float64) int {
	g := int(f * 10.0)
	if g%10 < 5 {
		return g / 10
	} else {
		return g/10 + 1
	}
}

func main() {
	defer stdout.Flush()

	// readString() string
	// readInt() int
	// readIntSlice(n int) []int
	// readLengthAndSlice() []int

	deg := readInt()
	des := readInt()

	dir := []string{"N", "NNE", "NE", "ENE", "E", "ESE", "SE", "SSE", "S", "SSW", "SW", "WSW", "W", "WNW", "NW", "NNW"}
	j := 1
	k := 0
	for i := 112; i < 3270; i += 225 {
		if i < deg && deg <= i+225 {
			k = j
		}
		j++
	}

	s := int(round(float64(des) / 6.0))
	var w int
	if s <= 2 {
		w = 0
	} else if s <= 15 {
		w = 1
	} else if s <= 33 {
		w = 2
	} else if s <= 54 {
		w = 3
	} else if s <= 79 {
		w = 4
	} else if s <= 107 {
		w = 5
	} else if s <= 138 {
		w = 6
	} else if s <= 171 {
		w = 7
	} else if s <= 207 {
		w = 8
	} else if s <= 244 {
		w = 9
	} else if s <= 284 {
		w = 10
	} else if s <= 326 {
		w = 11
	} else {
		w = 12
	}
	if w == 0 {
		println("C", w)
		return
	}
	println(dir[k], w)
}

Submission Info

Submission Time
Task C - 風力観測
User ktateish
Language Go (1.6)
Score 100
Code Size 2524 Byte
Status AC
Exec Time 1 ms
Memory 640 KB

Judge Result

Set Name all
Score / Max Score 100 / 100
Status
AC × 66
Set Name Test Cases
all 00_sample_01.txt, 00_sample_02.txt, 00_sample_03.txt, 00_sample_04.txt, 00_sample_05.txt, 00_sample_06.txt, 00_sample_07.txt, 00_sample_08.txt, test_01.txt, test_02.txt, test_03.txt, test_04.txt, test_05.txt, test_06.txt, test_07.txt, test_08.txt, test_09.txt, test_10.txt, test_11.txt, test_12.txt, test_13.txt, test_14.txt, test_15.txt, test_16.txt, test_17.txt, test_18.txt, test_19.txt, test_20.txt, test_21.txt, test_22.txt, test_23.txt, test_24.txt, test_25.txt, test_26.txt, test_27.txt, test_28.txt, test_29.txt, test_30.txt, test_31.txt, test_32.txt, test_33.txt, test_34.txt, test_35.txt, test_36.txt, test_37.txt, test_38.txt, test_39.txt, test_40.txt, test_41.txt, test_42.txt, test_43.txt, test_44.txt, test_45.txt, test_46.txt, test_47.txt, test_48.txt, test_49.txt, test_50.txt, test_51.txt, test_52.txt, test_53.txt, test_54.txt, test_55.txt, test_56.txt, test_57.txt, test_58.txt
Case Name Status Exec Time Memory
00_sample_01.txt AC 1 ms 640 KB
00_sample_02.txt AC 1 ms 640 KB
00_sample_03.txt AC 1 ms 640 KB
00_sample_04.txt AC 1 ms 640 KB
00_sample_05.txt AC 1 ms 640 KB
00_sample_06.txt AC 1 ms 640 KB
00_sample_07.txt AC 1 ms 640 KB
00_sample_08.txt AC 1 ms 640 KB
test_01.txt AC 1 ms 640 KB
test_02.txt AC 1 ms 640 KB
test_03.txt AC 1 ms 640 KB
test_04.txt AC 1 ms 640 KB
test_05.txt AC 1 ms 640 KB
test_06.txt AC 1 ms 640 KB
test_07.txt AC 1 ms 640 KB
test_08.txt AC 1 ms 640 KB
test_09.txt AC 1 ms 640 KB
test_10.txt AC 1 ms 640 KB
test_11.txt AC 1 ms 640 KB
test_12.txt AC 1 ms 640 KB
test_13.txt AC 1 ms 640 KB
test_14.txt AC 1 ms 640 KB
test_15.txt AC 1 ms 640 KB
test_16.txt AC 1 ms 640 KB
test_17.txt AC 1 ms 640 KB
test_18.txt AC 1 ms 640 KB
test_19.txt AC 1 ms 640 KB
test_20.txt AC 1 ms 640 KB
test_21.txt AC 1 ms 640 KB
test_22.txt AC 1 ms 640 KB
test_23.txt AC 1 ms 640 KB
test_24.txt AC 1 ms 640 KB
test_25.txt AC 1 ms 640 KB
test_26.txt AC 1 ms 640 KB
test_27.txt AC 1 ms 640 KB
test_28.txt AC 1 ms 640 KB
test_29.txt AC 1 ms 640 KB
test_30.txt AC 1 ms 640 KB
test_31.txt AC 1 ms 640 KB
test_32.txt AC 1 ms 640 KB
test_33.txt AC 1 ms 640 KB
test_34.txt AC 1 ms 640 KB
test_35.txt AC 1 ms 640 KB
test_36.txt AC 1 ms 640 KB
test_37.txt AC 1 ms 640 KB
test_38.txt AC 1 ms 640 KB
test_39.txt AC 1 ms 640 KB
test_40.txt AC 1 ms 640 KB
test_41.txt AC 1 ms 640 KB
test_42.txt AC 1 ms 640 KB
test_43.txt AC 1 ms 640 KB
test_44.txt AC 1 ms 640 KB
test_45.txt AC 1 ms 640 KB
test_46.txt AC 1 ms 640 KB
test_47.txt AC 1 ms 640 KB
test_48.txt AC 1 ms 640 KB
test_49.txt AC 1 ms 640 KB
test_50.txt AC 1 ms 640 KB
test_51.txt AC 1 ms 640 KB
test_52.txt AC 1 ms 640 KB
test_53.txt AC 1 ms 640 KB
test_54.txt AC 1 ms 640 KB
test_55.txt AC 1 ms 640 KB
test_56.txt AC 1 ms 640 KB
test_57.txt AC 1 ms 640 KB
test_58.txt AC 1 ms 640 KB