aboutsummaryrefslogtreecommitdiff
path: root/challenge-333/deadmarshal/go/ch1.go
blob: 173392003d98c572f5616e418464dd603c66d1d8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
package main

import (
	"fmt"
)

func straightLine(arr [][]int) bool {
	x1, y1 := arr[0][0], arr[0][1]
	x2, y2 := arr[1][0], arr[1][1]
	for i := 2; i < len(arr); i++ {
		x, y := arr[i][0], arr[i][1]
		if (x-x1)*(y2-y1) != (y-y1)*(x2-x1) {
			return false
		}
	}
	return true
}

func main() {
	fmt.Println(straightLine([][]int{{2, 1}, {2, 3}, {2, 5}}))
	fmt.Println(straightLine([][]int{{1, 4}, {3, 4}, {10, 4}}))
	fmt.Println(straightLine([][]int{{0, 0}, {1, 1}, {2, 3}}))
	fmt.Println(straightLine([][]int{{1, 1}, {1, 1}, {1, 1}}))
	fmt.Println(straightLine([][]int{{1000000, 1000000},
		{2000000, 2000000},
		{3000000, 3000000}}))
}