No Such Blog or Diary

«Prev || 1 | 2 | 3 |...| 1049 | 1050 | 1051 |...| 1252 | 1253 | 1254 || Next»

真・ビッグチロル

いまのところビッグチロルは箱が大きいだけで中身は通常サイズ.でもやっぱり人としては中身もあのサイズのものがほしい.ということで,自前でビッグチロルサイズの抹茶チョコを作ってみた.

couverture

左が作成された真・ビッグチロル(抹茶ミルク).右がビッグチロルの箱.とりあえず重さは520g.どうやって食べればいいのかわからないのが問題なのかもしれない.

以下,作成過程抜粋.

まず原料.抹茶入れて緑色にしたいのでベースはホワイトチョコ.今回は大東カカオのクーベルチュールホワイトチョコ2kg(2780円).体積比を考えると600gぐらいでビッグチロル一個分くらいなので作ろうと思えばビッグチロル3つ作れるはず.でも今回は一個で十分なので一個分(600~700g)だけを砕いて湯せんにかける.

couverture

そんで湯せん中に型の用意.型にはビッグチロルの箱を使用.面倒なのでクッキングシートを箱にしたがって折って内側に配置.

couverture

湯せんで溶かし終わったところ.塊を細かく砕くのが面倒だったので大きいままにしてたら溶かすのに時間食った.

couverture

んで,抹茶と混ぜ合わせる.分量は適当.いろいろと面倒なのでフードプロセッサで片付ける.ちなみにホワイトチョコの一部はビッグチロルの最上部として型に流し込んであったりする.

couverture

抹茶混ぜ終わったら型に流し込む.あとは冷蔵庫に入れときゃ完成.多少余った分は別の型に入れて固めた.

couverture

試食:もっと抹茶入れないと抹茶の味がしない.色はついてるけど色しかついてない….次回やるときにはもっと深い緑になるまで混ぜ込もう.ついでに,生クリーム入れてやわらかくしよう.

sedでmerge sortをしてみる

入力は空白区切りの小文字のみで構成される文字列のリスト.出力はソート結果.あなごるのWord frequency count (FIXED) 用に作ったのだが… 問題の入力に出てくる単語のソートだけで手元のマシンでも6秒弱かかる.

# input: word1 word2 ... wordn
# should be lower-case letters. no spaces except for the separator
 
 
s/ /\n/g
s/$/ /gm
 
# each line is a sorted list
 
:a
 
/\n/!q
 
s/^\(.*\)\n\(.*\)$/@\1: %\2/gm
 
# each line: @word11 word12 ... word1n : %word21 word22 ... word2m
# ':' is a separator of two lists
# '@' is the head of non-merged part of the first list
# '%' is the head of non-merged part of the second list
 
 
:b
 
# each line: sortedpart @word1i ... word1n : %word2j ... word2m
 
s/^[^%@:\n]*$/~&/gm                  # already done 
s/^\(.*\)@\(.*\): % *$/~\1\2/gm      # done (2nd list is consumed completely)
s/^\(.*\)@: \(.*\)%\(.*\)/~\1\2\3/gm # done (1st list is consumed completely)
 
/@/!be
h
 
s/^~.*$/~/gm                          # ignore merged lists
s/^.*@\(\w*\).*%\(\w*\).*$/\1 \2/gm  # prepare to comparation
 
 
#------------------- parallel comparation -----
 
# input: word11 word12\nword21 word22\n...\nwordn1 wordn2
# should be lower-case letters. no spaces except for the separator
# the entry '~' is ignored
 
# algorithm:
#   make pairs of corresponding characters in two words
#   compare all pairs at the same time
#   take the first non-equal result of he comparisons
 
 
s/^\| /&#/gm
s/^#~ *$/~/gm
 
:5
s/#\(\w\)\(.*\)#\(\w\)/\1\3 #\2#/mg
s/#\w.*#$/>/mg
s/# #..*/</mg
s/# #$/=/mg
t5
 
:1
 
:2
/a/b9
y/bcdefghijklmnopqrstuvwxyz/abcdefghijklmnopqrstuvwxy/
b2
:9
 
s/a[^a] /</g
s/[^a]a />/g
s/aa /=/g
 
/[^\n=<>~]/b1
s/^=*\(.\)/\1/gm
s/^\(.\).*/\1/gm
 
#----------- parallel comparation done ------
 
s/\n//g
s/$/#/
G
 
# [<>=]*#\nmergedpart @rest_of_list1 %rest_of_list2\n... 
 
# according to the results of comparations held in the head,
# move a head of either the rest of list1 or list2 to the tail of merged_part.
 
 
:m
s/^[<=]\(.*\)\n\(.*\)@\(\w*\) \(.*\)%\(\w*\)/\1-\2\3 @\4%\5/m
s/^>\(.*\)\n\(.*\)@\(\w*\)\(.*\)%\(\w*\) /\1-\2\5 @\3\4%/m
s/^~\([^\n]*\)\n~/\1-/
tm
s/-/\n/g
s/#\n//
bb
 
:e
s/~//g
ba

一文字目でバケットソートしてマージソートを各バケットに適用とかしないとダメっぽい.とにかく操作文字列長を小さくしないと速度が…

TCO08 Qual 3 again

Primのアルゴリズム間違ったかな? 有向グラフ用の最小全域木アルゴリズム実装し始めた時点で終わってた気もする.問題よく読もう.そして1000点問題を全探索で書くのはバカだ.ということで,250点問題しか解けてねー.それ以前に開始直後にキーボードが反応しなくなるという時点でいろいろと悲惨だったのだが…

250点問題:シミュレートして終わり.

500点問題:最小全域木作って終わり.

1000点問題:行と列で奇数部分をフリップすると他方の偶奇の数が入れ替わる.これに気づけば簡単な条件判定.

追記:どうやら本戦にいけるらしい.

Remove Duplicate Messages (Alternate)

サーバ置換のせいで重複メールを受信しまくったのでそれらを削除するアドインRemove Duplicate Messages (Alternate) を入れてみた.とりゃーず重複メール全部打ち殺せた.めでたし.

TCO08 Qual 3

せっかく根性でポーカー書いたのにまた明日やり直しか... 

結局サーバ停止は何が問題だったんだろう?

Emacs でインデントにタブを使わない

(setq-default indent-tab-mode nil) 

でいいのだとか.Fortress のインタプリタがタブに反応してしまうのでこれをやっておかないと効率が悪い.

«Prev || 1 | 2 | 3 |...| 1049 | 1050 | 1051 |...| 1252 | 1253 | 1254 || Next»
Search
Feeds

Page Top