solution: /submissions/accepted/dijkstra.py
version: 2025-02  # use this version of the generators framework

data:
  sample:
    data:
      - '':
          in: |
            IAZEEOXSPACKYIGF
            APDSSAOHEQAOGGLY
            LCERNRFILJINEEWE
            BDVLOMRESBATLTRI
            TEAAWSINUOOUKVIH
            YMNCDHBPTMTDUNUE
          ans: "15"
      - '':
          in: |
            EXFETDMNMGDBRSRM
            TIEGINOVRETACNUA
            PRYKASAEATNTSHID
            SOHUOEJDHVKYLPLC
            UFIYAWBZONUIEIWE
            LBELCOQASIOLAEGP
          ans: impossible
  secret:
    data:
      - sorted:
          generate: classic.py --seed {seed:1}  --sorted
          ans: "0"
          count: 1
      - unsorted:
          in: |
            ZXVTROMKBBBBBBBB
            ZXVTROMKBBBBBBBB
            ZXVTROMKBBBBBBBB
            YWUSQNLJAAAAAAAA
            YWUSPNLJAAAAAAAA
            ABCDEFGHIJKLMVWZ
          ans: "32"
      - duplicates-3:
          in: |
            AAAAAAAAAAAAAAAA
            AAAAAAAAAAAAAAAA
            AAAAAAAAAAAAAAAA
            BBBBBBBBBBBBBBBB
            BBBBBBBBBBBBBBBB
            BBBBBBBBBBBBBBBQ
      - duplicates-2:
          in: |
            AAAAAAAAAAAAAAAA
            AAAAAAAAAAAAAAAA
            BBBBBBBBBBBBBBBB
            BBBBBBBBBBBBBBBB
            CCCCCCCCCCCCCCCC
            CCCCCCCCCCCCCCCQ
      - duplicates-3-different:
          in: |
            ACEGIKMOPSUWYACE
            ACEGIKMOPSUWYACE
            ACEGIKMOQSUWYACE
            BDFHJLNPRTVXZBDF
            BDFHJLNPRTVXZBDF
            BDFHJLNPRTVXZBDF
      - duplicates-3-different:
          in: |
            AACCEEGIKMOPSUWY
            AACCEEGIKMOPSUWY
            AACCEEGIKMOQSUWY
            BBDDFFHJLNPRTVXZ
            BBDDFFHJLNPRTVXZ
            BBDDFFHJLNPRTVXZ
      - duplicates-2-different:
          in: |
            ADGJMPSVYBEHKNRU
            ADGJMPSVYBEHKNRU
            BEHKNPTWZCFILOSV
            BEHKNQTWZCFILOSV
            CFILORUXADGJMPTW
            CFILORUXADGJMPTW
      - duplicates-2-different:
          in: |
            ABDEGHJKMNPSRUVY
            ABDEGHJKMNPSRUVY
            BCEFHIKLNOPTSVWZ
            BCEFHIKLNOQTSVWZ
            CDFGIJLMOPRUTWXA
            CDFGIJLMOPRUTWXA
      - stripes:
          in: |
            AAAAAAAAAAAAAAAA
            BBBBBBBBBBBBBBBB
            BBBBBBBBBBBBBBBB
            AAAAAAAAAAAAAAAA
            BBBBBBBBBBBBBBBQ
            AAAAAAAAAAAAAAAA
      - blocks:
          in: |
            AAAAAAAACCCCCCCC
            DDDDDDDDBBBBBBBB
            BBBBBBBBEEEEEEEE
            FFFFFFFFAAAAAAAA
            BBBBBBBBGGGGGGGQ
            HHHHHHHHAAAAAAAA
      - mike:
          in: |
            ABDDEEGIILNOBRRS
            IINOAHEELEEHMAID
            OFVTPIYVTUSMRSLW
            AOAKCELNASHAACGE
            CRZNDFUTYTISQEWN
            TXEUMYKGBPPRJLUO
          ans: "1"
          yaml:
            description: "Sloppy implementations will turn Q in the 13th die up, rather than R"
      - classic_impossible:
          generate: classic.py --seed {seed:1}  --impossible
          count: 10
      - classic_possible:
          generate: classic.py --seed {seed:1}  --possible
          count: 10
      - classic_kill_greedy:
          generate: classic.py --seed {seed:1}  --kill_greedy
          count: 10
      - classic_kill_qu_agnostic:
          generate: classic.py --seed {seed:1}  --qu_important
          count: 10
      - classic_hard:
          generate: classic.py --seed {seed:1}  --qu_important --kill_greedy --possible
          count: 10

      - random:
          generate: gen-random.py {seed}
          count: 3
      - random_max_duplicates:
          generate: gen-random.py {seed} --max-duplicates
          count: 3
      - random_sorted:
          generate: gen-random.py {seed:1} --sorted-dice
          count: 10
      - random_sorted_max_duplicates:
          generate: gen-random.py {seed} --max-duplicates --sorted-dice
          count: 10
      - fuzz: gen-random.py 1001278727 --max-duplicates --sorted-dice
      - fuzz: gen-random.py 127380909 --max-duplicates --sorted-dice
      - fuzz: gen-random.py 84918183 --max-duplicates --sorted-dice
      - fuzz: gen-random.py 942959684 --max-duplicates --sorted-dice
      - fuzz: gen-random.py 372464551 --max-duplicates --sorted-dice
      - fuzz: gen-random.py 1059117526 --max-duplicates --sorted-dice

  invalid_input:
    data:
      missing_row:
        in: |
          IAZEEOXSPACKYIGF
          APDSSAOHEQAOGGLY
          LCERNRFILJINEEWE
          BDVLOMRESBATLTRI
          TEAAWSINUOOUKVIH
      missing_column:
        in: |
          IAZEEOXSPACKYIG
          APDSSAOHEQAOGGL
          LCERNRFILJINEEW
          BDVLOMRESBATLTR
          TEAAWSINUOOUKVI
          YMNCDHBPTMTDUNU
      lower_case:
        in: |
          iazeeoxspackyigf
          apdssaoheqaoggly
          lcernrfiljineewe
          bdvlomresbatltri
          teaawsinuooukvih
          ymncdhbptmtdunue
      at_sign:
        in: |
          IAZEEOXSPACKYIGF
          APDSSAOHEQAOGGLY
          LCERNRFILJINEEWE
          BDVLOMRESBATLTRI
          TE@AWSINUOOUKVIH
          YMNCDHBPTMTDUNUE
      four_duplicate:
        in: |
          AAAAAAAAAAAAAAAA
          AAAAAAAAAAAAAAAA
          AAAAAAAAAAAAAAAA
          ABBBBBBBBBBBBBBB
          BBBBBBBBBBBBBBBB
          BBBBBBBBBBBBBBBQ
      no_Q:
        in: |
          AAAAAAAAAAAAAAAA
          AAAAAAAAAAAAAAAA
          AAAAAAAAAAAAAAAA
          BBBBBBBBBBBBBBBB
          BBBBBBBBBBBBBBBB
          BBBBBBBBBBBBBBBB
      two_Qs:
        in: |
          AAAAAAAAAAAAAAAA
          AAAAAAAAAAAAAAAA
          AAAAAAAAAAAAAAAA
          BBBBBBBBBBBBBBBB
          BBBBBBBBBBBBBBBB
          BBBBBBBBBBBBBBQQ
  invalid_answer:
    data:
      - '':
          in: |
            EXFETDMNMGDBRSRM
            TIEGINOVRETACNUA
            PRYKASAEATNTSHID
            SOHUOEJDHVKYLPLC
            UFIYAWBZONUIEIWE
            LBELCOQASIOLAEGP
          ans: impossibl

  invalid_output:
    data:
      - '':
          in: |
            IAZEEOXSPACKYIGF
            APDSSAOHEQAOGGLY
            LCERNRFILJINEEWE
            BDVLOMRESBATLTRI
            TEAAWSINUOOUKVIH
            YMNCDHBPTMTDUNUE
          ans: "15"
          out: "16"

  valid_output:
    data:
      - '':
          in: |
            IAZEEOXSPACKYIGF
            APDSSAOHEQAOGGLY
            LCERNRFILJINEEWE
            BDVLOMRESBATLTRI
            TEAAWSINUOOUKVIH
            YMNCDHBPTMTDUNUE
          ans: "15"
          out: "15"
