Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- (defun read-input(p)
- (cond
- ((null p) nil)
- (T (cons p (read-input (read nil nil))))
- )
- )
- (defun readinput(i)
- (cdr (read-input 1))
- )
- (defun depth (list maxdepth tmpdepth) ;nacin1
- (cond
- ((null list) maxdepth)
- ((listp (car list))
- (setq tmp (depth (car list) maxdepth (+ tmpdepth 1)))
- (if (> tmp maxdepth) (depth (cdr list) tmp tmpdepth) (depth (cdr list) maxdepth tmpdepth))
- )
- ((> tmpdepth maxdepth) (depth (cdr list) tmpdepth tmpdepth))
- (t (depth (cdr list) maxdepth tmpdepth))
- )
- )
- (defun depth (lista dep maxdep) ;nacin2
- (cond
- ((null lista) maxdep)
- ((atom (car lista)) (depth (cdr lista) dep maxdep))
- (T (depth (cdr lista) dep (depth (car lista) (+ 1 dep) (max (+ 1 dep) maxdep))))
- )
- )
- (defun najvgnezdenipodnizi (lista dep maxdep)
- (cond
- ((null lista) nil)
- ((and (atom (car lista)) (eq dep maxdep))
- (cons (car lista) (najvgnezdenipodnizi (cdr lista) dep maxdep)))
- ((and (listp (car lista)) (eq maxdep (+ 1 dep)))
- (cons (car lista) (najvgnezdenipodnizi (cdr lista) dep maxdep)))
- ((and (listp (car lista)) (not (eq maxdep (+ 1 dep))))
- (append (najvgnezdenipodnizi (car lista) (+ 1 dep) maxdep) (najvgnezdenipodnizi (cdr lista) dep maxdep)))
- (T (najvgnezdenipodnizi (cdr lista) dep maxdep))
- )
- )
- (setq maxdep(depth '(1 2 (3 (4) 5 (6 (7 8)) 9) ((10 (11 12) 13)) 14) 0 0))
- (print (najvgnezdenipodnizi '(1 2 (3 (4) 5 (6 (7 8)) 9) ((10 (11 12) 13)) 14) 0 maxdep))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement