package main import ( "bufio" "fmt" "os" "strconv" ) func main() { // Scan開始前にSplitを設定しないとPanicになるため、ここに移動 s.Split(bufio.ScanWords) N := nextInt() // 元のコードはScanLinesとScanWordsを混在させていましたが、これはGoの仕様上Panicになります。 // そのため、nextIntArrayにNを渡し、ScanWordsのままN個の整数を読み込むように修正しました。 z := nextIntArray(N) fmt.Print(z[N-1]) fmt.Print("/") fmt.Print(z[0]) } func nextIntArray(n int) []int { // ScanLinesの使用はPanicの原因となるため、nextIntをn回呼ぶ形式に変更 data := make([]int, n) for i := 0; i < n; i++ { data[i] = nextInt() } return data } var s = bufio.NewScanner(os.Stdin) func next() string { // s.Split(bufio.ScanWords) // 削除: Scan後に呼ぶとPanicになるため s.Scan() return s.Text() } func nextLine() string { // s.Split(bufio.ScanLines) // 削除: 同上 s.Scan() return s.Text() } func nextInt() int { i, e := strconv.Atoi(next()) if e != nil { panic(e) } return i } func nextLong() int64 { i, e := strconv.ParseInt(next(), 10, 64) if e != nil { panic(e) } return i }