回答編集履歴

1

各メンバ比較例を追加

2017/08/16 05:44

投稿

can110
can110

スコア38262

test CHANGED
@@ -32,22 +32,102 @@
32
32
 
33
33
  return (self.start,self.end,self.length) < (other.start,other.end,other.length)
34
34
 
35
+
35
36
 
37
+ # 以下:各メンバ毎に比較する例
38
+
39
+ """
40
+
41
+ ret = (self.start < other.start)
42
+
43
+ if( ret != True): return ret
44
+
45
+
46
+
47
+ ret = (self.end < other.end)
48
+
49
+ if( ret != True): return ret
50
+
51
+
52
+
53
+ ret = (self.length < other.length)
54
+
55
+ return ret
56
+
57
+ """
58
+
59
+
36
60
 
37
61
  H = []
38
62
 
39
63
  heapq.heapify(H)
40
64
 
65
+ A = []
41
66
 
67
+ for s in reversed(range(2)):
42
68
 
43
- heapq.heappush(H, Branch(4,5,6))
69
+ for e in reversed(range(2)):
44
70
 
71
+ for l in reversed(range(2)):
72
+
73
+ b = Branch(s,e,l)
74
+
45
- heapq.heappush(H, Branch(1,2,3))
75
+ heapq.heappush(H, b)
76
+
77
+ A.append(b)
46
78
 
47
79
 
48
80
 
49
- for h in H:
81
+ print('A')
50
82
 
83
+ A.sort()
84
+
85
+ for a in A: print(a.start,a.end,a.length)
86
+
87
+
88
+
89
+ print('H')
90
+
51
- print(h.start,h.end,h.length)
91
+ for h in H: print(h.start,h.end,h.length)
52
92
 
53
93
  ```
94
+
95
+ ```
96
+
97
+ A
98
+
99
+ 0 0 0
100
+
101
+ 0 0 1
102
+
103
+ 0 1 0
104
+
105
+ 0 1 1
106
+
107
+ 1 0 0
108
+
109
+ 1 0 1
110
+
111
+ 1 1 0
112
+
113
+ 1 1 1
114
+
115
+ H
116
+
117
+ 0 0 0
118
+
119
+ 0 0 1
120
+
121
+ 0 1 0
122
+
123
+ 1 0 0
124
+
125
+ 1 0 1
126
+
127
+ 1 1 0
128
+
129
+ 0 1 1
130
+
131
+ 1 1 1
132
+
133
+ ```