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

data:
  sample:
    data:
      - '':
          in: |
            2
            13 13 25
            88 13 25
          ans: yes
      - '':
          in: |
            2
            13 13 25
            89 13 25
          ans: no
      - '': circleofcircles.py 7 65 160
      - '': circleofcircles.py 7 130 130
  secret:
    data:
      - extreme-coords:
          in: |
            4
            13 13 25
            13 99999987 25
            99999987 13 25
            99999987 99999987 25

      - 'triangle-grid': trianglegrid.py 200000 25

      - 'line-x': line.py 200000 0.0
      - 'line-y': line.py 200000 1.57079632679489661923
      - 'line-1rad': line.py 200000 1.0
      - 'line--1rad': line.py 200000 -1.0
      - 'line-2rad': line.py 200000 2.0
      - 'line--2rad': line.py 200000 -2.0
      - 'line-erad': line.py 200000 2.71828182845904523536
      - 'line--erad': line.py 200000 -2.71828182845904523536
      - 'line-phi': line.py 200000 1.6180339887498948482
      - 'line--phi': line.py 200000 -1.6180339887498948482
      - 'line-sqrt2': line.py 200000 1.4142135623730950488
      - 'line--sqrt2': line.py 200000 -1.4142135623730950488

      - 'incoherent-line-x': line.py 200000 0.0 incoherent
      - 'incoherent-line-y': line.py 200000 1.57079632679489661923 incoherent
      - 'incoherent-line-1rad': line.py 200000 1.0 incoherent
      - 'incoherent-line--1rad': line.py 200000 -1.0 incoherent
      - 'incoherent-line-2rad': line.py 200000 2.0 incoherent
      - 'incoherent-line--2rad': line.py 200000 -2.0 incoherent
      - 'incoherent-line-erad': line.py 200000 2.71828182845904523536 incoherent
      - 'incoherent-line--erad': line.py 200000 -2.71828182845904523536 incoherent
      - 'incoherent-line-phi': line.py 200000 1.6180339887498948482 incoherent
      - 'incoherent-line--phi': line.py 200000 -1.6180339887498948482 incoherent
      - 'incoherent-line-sqrt2': line.py 200000 1.4142135623730950488 incoherent
      - 'incoherent-line--sqrt2': line.py 200000 -1.4142135623730950488 incoherent

      - 'L-xy': L.py 200000 0.0 {seed}
      - 'L-lopsided-xy': L-lopsided.py 200000 0.0 0.65 {seed}
      - 'L-lopsided-xy': L-lopsided.py 200000 0.0 0.35 {seed}
      - 'L-small-xy': L.py 10 0.0 {seed}

      - 'bone-ty-y':
          generate: bone.py 5
          ans: yes
      - 'bone-ty-6-y': 
          generate: bone.py 6
          ans: yes
      - 'bone-ty-6-n': 
          generate: bone.py 6 --incoherent
          ans: no
      - 'bone-ty-7-y': 
          generate: bone.py 7
          ans: yes
      - 'bone-ty-7-n': 
          generate: bone.py 7 --incoherent
          ans: no
      - 'bone-sm-y': 
          generate: bone.py 10
          ans: yes
      - 'bone-sm-n': 
          generate: bone.py 10 --incoherent
          ans: no
      - 'bone-md-y': 
          generate: bone.py 100
          ans: yes
      - 'bone-md-y-ns': 
          generate: bone.py 100  --northsouth
          ans: yes
      - 'bone-md-n': 
          generate: bone.py 100 --incoherent
          ans: no
      - 'bone-lg-n': 
          generate: bone.py 10000 --incoherent
          ans: no
      - 'bone-lg-y': 
          generate: bone.py 10000
      - 'bone-lg-n-ns': 
          generate: bone.py 10000 --incoherent --northsouth
          ans: no
      - 'bone-lg-y-ns': 
          generate: bone.py 10000 --northsouth
          ans: yes
      - 'bone-hg-n': 
          generate: bone.py 200000 --incoherent
          ans: no
      - 'bone-hg-y': 
          generate: bone.py 200000
      - 'bone-hg-n-ns': 
          generate: bone.py 200000 --incoherent --northsouth
          ans: no
      - 'bone-hg-y-ns': 
          generate: bone.py 200000 --northsouth
          ans: yes
      - 'distant-triangles':
          in: |
            6
            25 25 25
            25 100 25
            89 62 25
            19714 62 25
            19779 25 25
            19779 100 25
          ans: no
      - 'random-sm': 
          generate: fill.py --width 1000 --height 1000 --seed {seed}
          count: 20
      - 'random-md': 
          generate: fill.py --width 5000 --height 5000 --attempts 1000 --seed {seed}
          count: 5
      - 'grid-md-25': grid.py --diam 25 --rows 100 --columns 100 --noise --seed {seed}
      - 'grid-hg-25': grid.py --diam 25 --rows 200 --columns 300 --noise --seed {seed}
      - 'grid-sm-25-noise': grid.py --diam 25 --noise --seed {seed}
      - 'grid-sm-25-plant': 
          generate: grid.py --diam 25 --plant --seed {seed}
          ans: no
      - 'grid-hg-25-plant': 
          generate: grid.py --diam 25 --rows 200 --columns 300 --plant --seed {seed}
          ans: no
      - 'grid-sm-25': grid.py --diam 25
      - 'grid-sm-25-n': grid.py --diam 25 --incoherent --seed {seed}
      - 'grid-sm-28': grid.py --diam 28
      - 'grid-sm-28-n': grid.py --diam 28 --incoherent --seed {seed}
      - 'grid-sm-32': grid.py --diam 32
      - 'grid-sm-32-n': grid.py --diam 32 --incoherent --seed {seed}
      - 'grid-sm-40': grid.py --diam 40
      - 'grid-sm-40-n': grid.py --diam 40 --incoherent --seed {seed}
      - 'grid-sm-50': grid.py --diam 50
      - 'grid-sm-50-n': grid.py --diam 50 --incoherent --seed {seed}
      - 'grid-sm-65': grid.py --diam 65
      - 'grid-sm-65-n': grid.py --diam 65 --incoherent --seed {seed}
      - 'grid-sm-80': grid.py --diam 80
      - 'grid-sm-80-n': grid.py --diam 80 --incoherent --seed {seed}
      - 'grid-sm-90': grid.py --diam 90
      - 'grid-sm-90-n': grid.py --diam 90 --incoherent --seed {seed}
      - 'grid-sm-100': grid.py --diam 100
      - 'grid-sm-100-n': grid.py --diam 100 --incoherent --seed {seed}
      - 'grid-sm-130': grid.py --diam 130
      - 'grid-sm-130-n': grid.py --diam 130 --incoherent --seed {seed}
      - 'grid-sm-160': grid.py --diam 160
      - 'grid-sm-160-n': grid.py --diam 160 --incoherent --seed {seed}
  invalid_input:
    data:
      basesize:
        in: |
         2
         13 13 24
         88 13 24
      overlap:
        in: |
         2
         13 13 25
         37 13 25
      overhang:
        in: |
         2
         12 13 25
         88 13 25
  invalid_answer:
    data:
      answerformat:
        in: |
          2
          13 13 25
          88 13 25
        ans: yas
