Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
|
|
@ -0,0 +1,51 @@
|
|||
100 O$ = "A" : T$ = "EF"
|
||||
110 DEF FN N(P) = ASC(MID$(N$,P+(P=0),1))-64
|
||||
120 DIM D(26),UNVISITED(26)
|
||||
130 DIM PREVIOUS(26) : TRUE = 1
|
||||
140 LET M = -1 : INFINITY = M
|
||||
150 FOR I = 0 TO 26
|
||||
160 LET D(I) = INFINITY : NEXT
|
||||
170 FOR NE = M TO 1E38 STEP .5
|
||||
180 READ C$
|
||||
190 IF LEN(C$) THEN NEXT
|
||||
200 DIM C(NE),FROM(NE),T(NE)
|
||||
210 DIM PC(NE) : RESTORE
|
||||
220 FOR I = 0 TO NE
|
||||
230 READ C(I), N$
|
||||
240 LET FROM(I) = FN N(1)
|
||||
250 LET UNVISITED(FR(I)) = TRUE
|
||||
260 LET T(I) = FN N(3)
|
||||
270 LET UNVISITED(T(I)) = TRUE
|
||||
290 NEXT
|
||||
300 N$ = O$ : O = FN N(0)
|
||||
310 D(O) = 0
|
||||
320 FOR CV = O TO EMPTY STEP 0
|
||||
330 FOR I = 0 TO NE
|
||||
340 IF FROM(I) = CV THEN N = T(I) : D = D(CV) + C(I) : IF (D(N) = INFINITY) OR (D < D(N)) THEN D(N) = D : PREVIOUS(N) = CV : PC(N) = C(I)
|
||||
350 NEXT I
|
||||
360 LET UNVISITED(CV) = FALSE
|
||||
370 LET MV = EMPTY
|
||||
380 FOR I = 1 TO 26
|
||||
390 IF UNVISITED(I) THEN MD = D(MV) * (MV <> INFINITY) + INFINITY * (MV = INFINITY) : IF (D(I) <> INFINITY) AND ((MD = INFINITY) OR (D(I) < MD)) THEN MV = I
|
||||
400 NEXT I
|
||||
410 LET CV = MV * (MD <> INF)
|
||||
420 NEXT CV : M$ = CHR$(13)
|
||||
430 PRINT "SHORTEST PATH";
|
||||
440 FOR I = 1 TO LEN(T$)
|
||||
450 LET N$ = MID$(T$, I, 1)
|
||||
460 PRINT M$ " FROM " O$;
|
||||
470 PRINT " TO "; : N = FN N(0)
|
||||
480 IF D(N) = INFINITY THEN PRINT N$" DOES NOT EXIST.";
|
||||
490 IF D(N) <> INFINITY THEN FOR N = N TO FALSE STEP 0 : PRINT CHR$(N + 64); : IF N < > O THEN PRINT " <- "; : N = PREVIOUS(N): NEXT N
|
||||
500 IF D(N) <> INFINITY THEN PRINT : PRINT " IS "; : N = FN N(0) : PRINT D(N); : H = 15 : FOR N = N TO O STEP 0: IF N < > O THEN P = PREVIOUS(N): PRINT TAB(H)CHR$(43+18*(h=15));TAB(H+2)PC(N); :N = P: H=H+5: NEXT N
|
||||
510 NEXT I
|
||||
600 DATA 7,A-B
|
||||
610 DATA 9,A-C
|
||||
620 DATA 14,A-F
|
||||
630 DATA 10,B-C
|
||||
640 DATA 15,B-D
|
||||
650 DATA 11,C-D
|
||||
660 DATA 2,C-F
|
||||
670 DATA 6,D-E
|
||||
680 DATA 9,E-F
|
||||
690 DATA
|
||||
Loading…
Add table
Add a link
Reference in a new issue