REM ########################################

REM # ACSL Intermediate Division Contest 4 #

REM ######### By: Andrew Meglathery ########

REM ########################################

 

DIM w$(7),wn(7),ws$(7),l$(7),ln(7),ls$(7),valid(7)

 

INPUT w$(1),w$(2),w$(3),w$(4),w$(5),w$(6),w$(7)

 

FOR i=1 to 7

    IF w$(i)[1:1]="T" then

       LET wn(i)=10

    ELSE IF w$(i)[1:1]="J" then

       LET wn(i)=11

    ELSE IF w$(i)[1:1]="Q" then

       LET wn(i)=12

    ELSE IF w$(i)[1:1]="K" then

       LET wn(i)=13

    ELSE IF w$(i)[1:1]="A" then

       LET wn(i)=1B

    ELSE

       LET wn(i)=VAL(w$(i)[1:1])

    END IF

    LET ws$(i)=w$(i)[2:2]

NEXT i

 

DO

 

   REM ########################### SETS ######################

 

   FOR i=1 to 13

       LET count=0

       FOR j=1 to 7

           IF wn(j)=i then LET count=count+1

       NEXT j

       IF count>=3 then

          FOR h=1 to 7

              IF wn(h)=i then LET setnum=wn(h)

          NEXT h

       END IF

   NEXT i

 

   REM ####################### 3 CARD RUNS ###################

 

   FOR i=1 to 7

       FOR j=1 to 7

           FOR k=1 to 7

               IF wn(j)=wn(i)+1 and wn(k)=wn(j)+1 and ws$(j)=ws$(i) and ws$(k)=ws$(i) then

                  LET trunlow=wn(i)

                  LET trunhigh=wn(k)

                  LET trunsuit$=ws$(i)

               END IF

           NEXT k

       NEXT j

   NEXT i

 

   REM ###################### 4 CARD RUNS ####################

 

   FOR i=1 to 7

       FOR j=1 to 7

           FOR k=1 to 7

               FOR l=1 to 7

                   IF wn(j)=wn(i)+1 and wn(k)=wn(j)+1 and wn(l)=wn(k)+1 and ws$(j)=ws$(i) and ws$(k)=ws$(i) and ws$(l)=ws$(i) then

                      LET frunlow=wn(i)

                      LET frunhigh=wn(l)

                      LET frunsuit$=ws$(i)

                   END IF

               NEXT l

           NEXT k

       NEXT j

   NEXT i

 

   INPUT l$(1),l$(2),l$(3),l$(4),l$(5),l$(6),l$(7)

 

   FOR i=1 to 7

       IF l$(i)[1:1]="T" then

          LET ln(i)=10

       ELSE IF l$(i)[1:1]="J" then

          LET ln(i)=11

       ELSE IF l$(i)[1:1]="Q" then

          LET ln(i)=12

       ELSE IF l$(i)[1:1]="K" then

          LET ln(i)=13

       ELSE IF l$(i)[1:1]="A" then

          LET ln(i)=1

       ELSE

          LET ln(i)=VAL(l$(i)[1:1])

       END IF

       LET ls$(i)=l$(i)[2:2]

       LET valid(i)=1

   NEXT i

 

   FOR h=1 to 7

       FOR i=1 to 7

           IF ln(i)=trunlow-1 and ls$(i)=trunsuit$ then

              LET valid(i)=0

              LET trunlow=ln(i)

           ELSE IF ln(i)=trunhigh+1 and ls$(i)=trunsuit$ then

              LET valid(i)=0

              LET trunhigh=ln(i)

           ELSE IF ln(i)=frunlow-1 and ls$(i)=frunsuit$ then

              LET valid(i)=0

              LET frunlow=ln(i)

           ELSE IF ln(i)=frunhigh+1 and ls$(i)=frunsuit$ then

              LET valid(i)=0

              LET frunhigh=ln(i)

           ELSE IF ln(i)=setnum then

              LET valid(i)=0

           END IF

       NEXT i

   NEXT h

 

   LET total=0

 

   FOR i=1 to 7

       IF valid(i)=1 then

          IF ln(i)>10 then LET ln(i)=10

          LET total=total+ln(i)

       END IF

 

   NEXT i

 

   PRINT

   PRINT total

   PRINT

 

LOOP

END