くいしんぼうのよてちゅーは迷路の中で迷っていたらお腹が空いてしましまし た。このままでは飢え死にしてしまいます! ところが幸運なことにどこから かうどんの匂いが漂ってきています。よてちゅーに移動する方向を指示して、 うどんのある場所に連れて行ってあげてください。
ただし、よてちゅーは猪突猛進タイプの性格なので、ある方向に移動するとき は壁にぶつかるまで止まることはできません。
#include <map> | |
#include <vector> | |
#include <string> | |
#include <iostream> | |
#include <cstdlib> | |
#include <cassert> | |
#include <algorithm> | |
#include <queue> | |
#include <tuple> |
#!/usr/bin/env ruby | |
class Node | |
attr_reader :label, :edges | |
def initialize(label) | |
@label = label | |
@edges = {} | |
end | |
def inspect |
i = 1 | |
r = 'A' | |
until i == 100_000 | |
puts "#{r} #{i}" | |
i += 1 | |
r = r.succ | |
end |
# 26進法で位分け。大きな位が右。 | |
def places(n) | |
res = [] | |
until n == 0 | |
m = n % 26 | |
n = n / 26 | |
res.push(m) | |
end | |
return res | |
end |
(defun growable (orig) | |
(let ((arr (make-array (length orig) | |
:element-type 'character | |
:adjustable t | |
:fill-pointer (length orig)))) | |
(loop for i below (length orig) do | |
(setf (aref arr i) (aref orig i))) | |
arr | |
) | |
) |
(defparameter LOGO "Pecazen") | |
(defparameter DIGIT_DISTANCE 0.3) | |
(defparameter SEC_HAND_LENGTH 0.30) | |
(defparameter SEC_HAND_WIDTH 0.005) | |
(defparameter MIN_HAND_LENGTH 0.30) | |
(defparameter MIN_HAND_WIDTH 0.02) | |
(defparameter HOUR_HAND_LENGTH 0.2) | |
(defparameter HOUR_HAND_WIDTH 0.03) | |
(defparameter STRAIGHT_UP_RADIAN (* (/ -1 4.0) 2 PI)) | |
(defparameter OPPOSITE_LENGTH 0.025) |
-- 再帰下降パーサーによるシンプルな電卓プログラム | |
-- | |
-- 使用例: | |
-- $ lua calc.lua | |
-- > 1+1 | |
-- 2 | |
-- | |
-- 文法: | |
-- program := expression NEWLINE | |
-- expression := term [ ['+'|'-'] term ]* |
def match?(val, pattern) | |
if pattern.is_a?(Array) && pattern.size > 0 | |
keyword, *rest = pattern | |
case keyword | |
when :list | |
val.is_a?(Array) && | |
val.size == rest.size && | |
val.zip(rest).all? { |subval, subpat| match?(subval, subpat) } | |
when :map | |
rest[0].is_a?(Hash) && val.is_a?(Hash) && rest[0].each_pair.all? { |key, subpat| |
=begin | |
遅延評価のリスプ。 | |
式の種類: | |
* 整数。1 や -2 など。 | |
* リスト。nil あるいは (式 ...) | |
* シンボル。foo ほげ など。 | |
* 真偽値。true false。 |