@@ -24,48 +24,39 @@ export default class Ljf extends InputTable {
24
24
}
25
25
console . log ( tuple ) ;
26
26
// var tuple = [
27
- // { pid: 1, bt1: 6, art: 0, io: 10, bt2: 4 },
28
- // { pid: 2, bt1: 9, art: 0, io: 15, bt2: 6 },
29
- // { pid: 3, bt1: 3, art: 0, io: 5, bt2: 2 },
27
+ // {pid:1, bt1:6, art:0, io:10,bt2:4 },
28
+ // {pid:2, bt1:9, art:0, io:15,bt2:6 },
29
+ // {pid:3, bt1:3, art:0, io:5, bt2:2 },
30
30
// ];
31
31
var total_bt = [ ] ;
32
32
var artt = [ ] ;
33
33
var total_btt = [ ] ;
34
+ var n = tuple . length ;
34
35
for ( var i = 0 ; i < tuple . length ; i ++ ) {
35
36
total_bt [ i ] = tuple [ i ] . bt1 + tuple [ i ] . io + tuple [ i ] . bt2 ;
36
37
total_btt [ i ] = total_bt [ i ] - tuple [ i ] . io ;
37
38
artt [ i ] = tuple [ i ] . art ;
38
- // console.log(total_bt[i]);
39
39
}
40
40
var tuple_temp = tuple ;
41
41
tuple . sort ( function ( a , b ) {
42
42
return a . art - b . art ;
43
43
} ) ;
44
44
tuple . sort ( ) ;
45
-
46
- var n = tuple . length ;
47
45
var wt = [ ] ;
48
46
var tat = [ ] ;
49
47
var total_wt = 0 ;
50
48
var total_tat = 0 ;
51
- var rt = [ ] ;
52
- for ( var i = 0 ; i < n ; i ++ ) {
53
- rt . push ( tuple [ i ] . bt ) ;
54
- }
55
-
56
49
var final_ans = [ ] ;
57
50
var visited = [ ] ;
58
51
for ( var i = 0 ; i < tuple . length ; i ++ ) {
59
52
visited [ i ] = 0 ;
60
53
}
61
-
62
54
var que = [ ] ;
63
55
var btco = [ ] ;
64
56
for ( var i = 0 ; i < n ; i ++ ) {
65
57
btco [ i ] = 0 ;
66
58
}
67
-
68
- for ( var i = 0 ; i < 50 ; i ++ ) {
59
+ for ( var i = 0 ; i < 10000 ; i ++ ) {
69
60
for ( var j = 0 ; j < n ; j ++ ) {
70
61
if ( total_bt [ i ] <= 0 ) {
71
62
visited [ i ] = 1 ;
@@ -81,19 +72,16 @@ export default class Ljf extends InputTable {
81
72
}
82
73
}
83
74
}
84
-
85
75
if ( state == - 1 ) {
86
76
final_ans . push ( "/" ) ;
87
77
var smit = [ ] ;
88
78
que . push ( smit ) ;
89
79
} else {
90
80
if ( btco [ state ] === 0 ) {
91
- // if(i==3){console.log("fuck1");}
92
81
for ( var j = 0 ; j < tuple [ state ] . bt1 ; j ++ ) {
93
82
final_ans . push ( tuple [ state ] . pid ) ;
94
83
}
95
84
tuple [ state ] . art = i + tuple [ state ] . bt1 + tuple [ state ] . io ;
96
- // console.log(state + " " + tuple[state].art);
97
85
for ( var g = i ; g < i + tuple [ state ] . bt1 - 1 ; g ++ ) {
98
86
var smit = [ ] ;
99
87
for ( var y = 0 ; y < n ; y ++ ) {
@@ -104,11 +92,9 @@ export default class Ljf extends InputTable {
104
92
que . push ( smit ) ;
105
93
}
106
94
i += tuple [ state ] . bt1 - 1 ;
107
-
108
95
btco [ state ] = 1 ;
109
96
total_bt [ state ] -= tuple [ state ] . bt1 + tuple [ state ] . io ;
110
97
} else {
111
- // if(i==3){console.log("fuck2");}
112
98
for ( var j = 0 ; j < tuple [ state ] . bt2 ; j ++ ) {
113
99
final_ans . push ( tuple [ state ] . pid ) ;
114
100
}
@@ -123,20 +109,15 @@ export default class Ljf extends InputTable {
123
109
}
124
110
i += tuple [ state ] . bt2 - 1 ;
125
111
total_bt [ state ] = 0 ;
126
- tuple [ state ] . art = 100 ;
112
+ tuple [ state ] . art = 10000 ;
127
113
}
128
114
}
129
115
}
130
- console . log ( que . length ) ;
131
- // for (var i = 0; i < 50; i++) {
132
- // console.log(i + " " + final_ans[i]);
133
- // }
134
116
var cmp_time = [ ] ;
135
117
for ( var i = 0 ; i < tuple . length ; i ++ ) {
136
118
cmp_time [ i ] = - 1 ;
137
119
}
138
120
for ( var i = final_ans . length - 1 ; i >= 0 ; i -- ) {
139
- // console.log(final_ans[i]);
140
121
if ( final_ans [ i ] === "/" ) {
141
122
} else {
142
123
if ( cmp_time [ final_ans [ i ] - 1 ] == - 1 ) {
@@ -149,14 +130,13 @@ export default class Ljf extends InputTable {
149
130
150
131
for ( var i = 0 ; i < n ; i ++ ) {
151
132
tat [ i ] = cmp_time [ i ] - artt [ i ] ;
152
-
153
133
wt [ i ] = tat [ i ] - total_btt [ i ] ;
154
134
}
155
135
for ( var i = 0 ; i < n ; i ++ ) {
156
136
total_wt = total_wt + wt [ i ] ;
157
137
total_tat = total_tat + tat [ i ] ;
158
138
}
159
-
139
+ console . log ( total_wt / n + " " + total_tat / n ) ;
160
140
// Changing Pid into string in final answer array
161
141
for ( var i = 0 ; i < final_ans . length ; i ++ ) {
162
142
if ( final_ans [ i ] != "/" ) {
@@ -208,50 +188,38 @@ export default class Ljf extends InputTable {
208
188
}
209
189
console . log ( tuple ) ;
210
190
// var tuple = [
211
- // { pid: 1, bt: 2, art: 1 },
212
- // { pid: 2, bt: 5, art: 6 },
213
- // { pid: 3, bt: 3, art: 4 },
191
+ // {pid:1, bt:2, art:1 },
192
+ // {pid:2, bt:5, art:6 },
193
+ // {pid:3, bt:3, art:4 },
214
194
// ];
215
195
var n = tuple . length ;
216
196
var total_btt = [ ] ;
217
197
var artt = [ ] ;
218
198
for ( var i = 0 ; i < n ; i ++ ) {
219
199
total_btt [ i ] = tuple [ i ] . bt ;
220
- }
221
- for ( var i = 0 ; i < n ; i ++ ) {
222
- console . log ( tuple [ i ] . art ) ;
223
200
artt [ i ] = tuple [ i ] . art ;
224
201
}
225
-
226
202
var tuple_temp = tuple ;
227
203
tuple . sort ( function ( a , b ) {
228
204
return a . art - b . art ;
229
205
} ) ;
230
206
tuple . sort ( ) ;
231
-
232
207
var n = tuple . length ;
233
208
var wt = [ ] ;
234
209
var tat = [ ] ;
235
210
var total_wt = 0 ;
236
211
var total_tat = 0 ;
237
- var rt = [ ] ;
238
- for ( var i = 0 ; i < n ; i ++ ) {
239
- rt . push ( tuple [ i ] . bt ) ;
240
- }
241
-
242
212
var final_ans = [ ] ;
243
213
var visited = [ ] ;
244
214
for ( var i = 0 ; i < tuple . length ; i ++ ) {
245
215
visited [ i ] = 0 ;
246
216
}
247
-
248
217
var que = [ ] ;
249
218
var btco = [ ] ;
250
219
for ( var i = 0 ; i < n ; i ++ ) {
251
220
btco [ i ] = 0 ;
252
221
}
253
-
254
- for ( var i = 0 ; i < 50 ; i ++ ) {
222
+ for ( var i = 0 ; i < 10000 ; i ++ ) {
255
223
for ( var j = 0 ; j < n ; j ++ ) {
256
224
if ( tuple [ j ] . bt <= 0 ) {
257
225
visited [ j ] = 1 ;
@@ -267,19 +235,14 @@ export default class Ljf extends InputTable {
267
235
}
268
236
}
269
237
}
270
- // console.log("i "+i);
271
-
272
- // console.log(i+" sasd " +state);
273
238
if ( state == - 1 ) {
274
239
final_ans . push ( "/" ) ;
275
240
var smit = [ ] ;
276
241
que . push ( smit ) ;
277
242
} else {
278
- // console.log("a");
279
243
for ( var j = 0 ; j < tuple [ state ] . bt ; j ++ ) {
280
244
final_ans . push ( tuple [ state ] . pid ) ;
281
245
}
282
-
283
246
for ( var g = i ; g < i + tuple [ state ] . bt ; g ++ ) {
284
247
var smit = [ ] ;
285
248
for ( var y = 0 ; y < n ; y ++ ) {
@@ -289,7 +252,6 @@ export default class Ljf extends InputTable {
289
252
}
290
253
que . push ( smit ) ;
291
254
}
292
-
293
255
i += tuple [ state ] . bt - 1 ;
294
256
tuple [ state ] . bt = 0 ;
295
257
}
@@ -303,28 +265,21 @@ export default class Ljf extends InputTable {
303
265
cmp_time [ i ] = - 1 ;
304
266
}
305
267
for ( var i = final_ans . length - 1 ; i >= 0 ; i -- ) {
306
- // console.log(final_ans[i]);
307
268
if ( final_ans [ i ] === "/" ) {
308
269
} else {
309
270
if ( cmp_time [ final_ans [ i ] - 1 ] == - 1 ) {
310
271
cmp_time [ final_ans [ i ] - 1 ] = i + 1 ;
311
272
}
312
273
}
313
274
}
314
-
315
- var wt = [ ] ;
316
-
317
275
for ( var i = 0 ; i < n ; i ++ ) {
318
- console . log ( cmp_time [ i ] + " " + artt [ i ] ) ;
319
276
tat [ i ] = cmp_time [ i ] - artt [ i ] ;
320
-
321
277
wt [ i ] = tat [ i ] - total_btt [ i ] ;
322
278
}
323
279
for ( var i = 0 ; i < n ; i ++ ) {
324
280
total_wt = total_wt + wt [ i ] ;
325
281
total_tat = total_tat + tat [ i ] ;
326
282
}
327
- // console.log(total_wt/n + " " + total_tat/n);
328
283
// Changing Pid into string in final answer array
329
284
for ( var i = 0 ; i < final_ans . length ; i ++ ) {
330
285
if ( final_ans [ i ] != "/" ) {
@@ -338,11 +293,6 @@ export default class Ljf extends InputTable {
338
293
final_ans . pop ( ) ;
339
294
}
340
295
console . log ( total_wt / n + " " + total_tat / n ) ;
341
- console . log ( que ) ;
342
- // var que = [];
343
- // for (let i = 0; i < 50; i++) {
344
- // que.push(["-Dummy"]);
345
- // }
346
296
newState . queueAnimationArray = que ;
347
297
newState . tatarr = tat ;
348
298
newState . waitingarr = wt ;
0 commit comments