インプット
3 5
101 102 103 104 105
201 202 203 204 205
301 302 303 304 305
始めの1行が行x列を表しています。
結論
package main
import (
"fmt"
"bufio"
"os"
"strings"
"strconv"
)
var sc = bufio.NewScanner(os.Stdin)
func scanLine() []int {
sc.Scan()
s := sc.Text() // 1行読み込み
sl := strings.Split(s, " ") // 1行をスペースで分割
ret := []int{}
for i:= range sl {
v, _ := strconv.Atoi(sl[i]) // 1要素ずつ整数に変換
ret = append(ret, v) // スライスに追加
}
return ret
}
func main() {
sl := scanLine() // まず1行読み込む
data := [][]int{}
// 行数分だけループ
for i :=0; i < sl[0]; i++ {
line := scanLine()
data = append(data, line)
}
// あとはご随意に
}
ボヤキ
Rubyだったら1行分 gets.split(" ").map{|v| v.to_i}
で済むのに...