- 1
- 2
- 3
- 4
- 5
(* Solving the Queen Puzzle *)
#define N 8
#define NSOL 10
val () =
(((fix qsolve(n: int): stream(list0(int)) => if(n > 0)then((qsolve(n-1)*list0_make_intrange(0,N)).map(TYPE{list0(int)})(lam($tup(xs,x))=>cons0(x,xs))).filter()(lam(xs)=>let val-cons0(x0,xs) = xs in xs.iforall()(lam(i, x)=>((x0)!=x)&&(abs(x0-x)!=i+1)) end)else(stream_make_sing(nil0())))(N)).takeLte(NSOL)).iforeach()(lam(i, xs)=>(println!("Solution#", i+1, ":"); xs.rforeach()(lam(x) => ((N).foreach()(lam(i)=>(print_string(ifval(i=x," Q", " ."))));println!()));println!()))
AtsGovno, скоро на всем говнокоде страны
Макросы с выводом типов?
Фу, какая жуткая каша из пробелов, значков и скобочек. Будто собрались питон, экмаскрипт и лисп, напились и устроили дебош.
"Обозначим val-cons0(x0,xs) как xs"?
Я не понял, а кто Queen Puzzle решит то? Говнокод уже не тот. Го в пролог или меркури
Вот хаски довольно легко читается. А тут я не могу не гугля квин пазл понять что решает прога
Description
CONS0 is a submodel which outputs a signal with a constant specified value.
короче это просто банальное объявление функции, которая возвращает свой второй параметр и игнорит первый
> доблестные победители олимпиад по программированию
Бэкенд вконтакте они и сделали. Не пхпшникам же эту работу доверять.
сделали. Там в соцсетях сейчас тренд: пхп ту нейтив компилятор используется. Раньше это был голый пхп. Баграунд типа бд, компиляей и осей к пхп делали коненчо не лалки пехапешники, но свою работу они сделали как видишь на славу и все пока работает