Submission #2408714


Source Code Expand

(defun far-the-most-dot (list)
  (let* ((l (reverse list))
         (l-size (length list))
         (pos (position #\. l)))
    (when pos
      (- (1- l-size) pos))))

(defun far-the-most-x (list)
  (let* ((l (reverse list))
         (l-size (length list))
         (pos (position #\X l)))
    (when pos
      (- (1- l-size) pos))))

(defun calc-next-pos (list)
  (or (far-the-most-dot list)
      (far-the-most-x list)))


(defun calc-step-positions (list start-pos)
  (let* ((rest-length (- (1- (length list)) start-pos))
         (take-size (min 3 rest-length))
         (l (subseq list (1+ start-pos) (+ start-pos take-size 1)))
         (next-pos (+ (calc-next-pos l) 1 start-pos)))
    (if (< rest-length 4)
        ()
        (cons next-pos
              (calc-step-positions list next-pos)))))

(read) ; n 読み捨て
(let* ((s (concatenate 'list (string-right-trim '(#\Newline) (read-line))))
       (step-positions (calc-step-positions s 0))
       (x-num (count-if (lambda (idx) (equal (nth idx s) #\X)) step-positions)))
  (format 't "~A~%" x-num))

Submission Info

Submission Time
Task B - 雨上がり
User toku345
Language Common Lisp (SBCL 1.1.14)
Score 50
Code Size 1094 Byte
Status AC
Exec Time 141 ms
Memory 16616 KB

Judge Result

Set Name All
Score / Max Score 50 / 50
Status
AC × 43
Set Name Test Cases
All case_000.txt, case_001.txt, case_002.txt, case_003.txt, case_004.txt, case_005.txt, case_006.txt, case_007.txt, case_008.txt, case_009.txt, case_010.txt, case_011.txt, case_012.txt, case_013.txt, case_014.txt, case_015.txt, case_016.txt, case_017.txt, case_018.txt, case_019.txt, case_020.txt, case_021.txt, case_022.txt, case_023.txt, case_024.txt, case_025.txt, case_026.txt, case_027.txt, case_028.txt, case_029.txt, case_030.txt, case_031.txt, case_032.txt, case_033.txt, case_034.txt, case_035.txt, case_036.txt, case_037.txt, case_038.txt, case_039.txt, case_040.txt, case_041.txt, case_042.txt
Case Name Status Exec Time Memory
case_000.txt AC 141 ms 16616 KB
case_001.txt AC 20 ms 6496 KB
case_002.txt AC 19 ms 6496 KB
case_003.txt AC 19 ms 6500 KB
case_004.txt AC 19 ms 6496 KB
case_005.txt AC 19 ms 6500 KB
case_006.txt AC 19 ms 6500 KB
case_007.txt AC 19 ms 6500 KB
case_008.txt AC 19 ms 6500 KB
case_009.txt AC 19 ms 6500 KB
case_010.txt AC 19 ms 6504 KB
case_011.txt AC 19 ms 6500 KB
case_012.txt AC 20 ms 6504 KB
case_013.txt AC 19 ms 6500 KB
case_014.txt AC 19 ms 6504 KB
case_015.txt AC 19 ms 6504 KB
case_016.txt AC 19 ms 6504 KB
case_017.txt AC 19 ms 6500 KB
case_018.txt AC 19 ms 6500 KB
case_019.txt AC 19 ms 6500 KB
case_020.txt AC 19 ms 6500 KB
case_021.txt AC 19 ms 6500 KB
case_022.txt AC 19 ms 6500 KB
case_023.txt AC 19 ms 6496 KB
case_024.txt AC 20 ms 6496 KB
case_025.txt AC 20 ms 6500 KB
case_026.txt AC 19 ms 6500 KB
case_027.txt AC 19 ms 6496 KB
case_028.txt AC 19 ms 6500 KB
case_029.txt AC 19 ms 6496 KB
case_030.txt AC 19 ms 6500 KB
case_031.txt AC 20 ms 6504 KB
case_032.txt AC 19 ms 6500 KB
case_033.txt AC 19 ms 6500 KB
case_034.txt AC 20 ms 6504 KB
case_035.txt AC 19 ms 6500 KB
case_036.txt AC 19 ms 6500 KB
case_037.txt AC 20 ms 6500 KB
case_038.txt AC 20 ms 6500 KB
case_039.txt AC 19 ms 6496 KB
case_040.txt AC 19 ms 6504 KB
case_041.txt AC 19 ms 6496 KB
case_042.txt AC 19 ms 6500 KB