瀏覽代碼

make it compile

Gildas Chabot 7 年之前
父節點
當前提交
8db8ab7f6d
共有 2 個文件被更改,包括 21 次插入6 次删除
  1. 20 5
      main.go
  2. 1 1
      prioq.go

+ 20 - 5
main.go

@@ -15,7 +15,7 @@ var N int
15
 var B int
15
 var B int
16
 var T int
16
 var T int
17
 
17
 
18
-var Rides []Ride
18
+var Rides []*Ride
19
 
19
 
20
 var Cars []*Car
20
 var Cars []*Car
21
 
21
 
@@ -23,6 +23,8 @@ var Sched Scheduler
23
 
23
 
24
 type Ride struct {
24
 type Ride struct {
25
 	a, b, x, y, s, f int
25
 	a, b, x, y, s, f int
26
+
27
+	used bool
26
 }
28
 }
27
 
29
 
28
 type Scheduler interface {
30
 type Scheduler interface {
@@ -39,15 +41,28 @@ type Car struct {
39
 	Y       int
41
 	Y       int
40
 }
42
 }
41
 
43
 
44
+func (c *Car) Update(r *Ride) {}
45
+
46
+func Choose(c *Car) *Ride { return nil }
47
+
42
 func assign() bool {
48
 func assign() bool {
43
-	c := sched.Pop()
49
+	c := Sched.Pop()
50
+	if c == nil {
51
+		return false
52
+	}
44
 	r := Choose(c)
53
 	r := Choose(c)
54
+	if r == nil {
55
+		return true
56
+	}
57
+	r.used = true
45
 	c.Update(r)
58
 	c.Update(r)
46
-	sched.Add(c)
59
+	Sched.Add(c)
60
+
61
+	return true
47
 }
62
 }
48
 
63
 
49
 func solve() {
64
 func solve() {
50
-	Sched = prioq{}
65
+	Sched = &prioq{}
51
 
66
 
52
 	// create cars
67
 	// create cars
53
 	for i := 0; i < F; i++ {
68
 	for i := 0; i < F; i++ {
@@ -93,7 +108,7 @@ func main() {
93
 	T = readInt()
108
 	T = readInt()
94
 
109
 
95
 	for i := 0; i < N; i++ {
110
 	for i := 0; i < N; i++ {
96
-		Rides = append(Rides, Ride{
111
+		Rides = append(Rides, &Ride{
97
 			a: readInt(),
112
 			a: readInt(),
98
 			b: readInt(),
113
 			b: readInt(),
99
 			x: readInt(),
114
 			x: readInt(),

+ 1 - 1
prioq.go

@@ -19,7 +19,7 @@ func (pq *prioq) Add(car *Car) {
19
 	}
19
 	}
20
 }
20
 }
21
 
21
 
22
-func (pq *prioq) pop() *Car {
22
+func (pq *prioq) Pop() *Car {
23
 	if len(pq.bintree) == 0 {
23
 	if len(pq.bintree) == 0 {
24
 		panic("Trying to remove from empty queue")
24
 		panic("Trying to remove from empty queue")
25
 	}
25
 	}