backtracking.ncd 619 B

12345678910111213141516171819202122232425262728293031
  1. process main {
  2. value({}) list;
  3. var("0") i;
  4. backtrack_point() point;
  5. num_lesser(i, "100") do_more;
  6. If (do_more) {
  7. list->insert(i);
  8. num_add(i, "1") new_i;
  9. i->set(new_i);
  10. point->go();
  11. };
  12. val_equal(list.length, "100") a;
  13. assert(a);
  14. value({}) list;
  15. var("0") i;
  16. blocker() blk;
  17. blk->up();
  18. blk->use();
  19. num_lesser(i, "100") do_more;
  20. If (do_more) {
  21. list->insert(i);
  22. num_add(i, "1") new_i;
  23. i->set(new_i);
  24. blk->downup();
  25. };
  26. val_equal(list.length, "100") a;
  27. assert(a);
  28. exit("0");
  29. }