mieki256's diary



2006/09/21(木) [n年前の日記]

#1 [iappli] ペントミノとやらのページを眺める

n x m の領域の中に、特定のパターンを複数配置する、という変更要求がきているので、そのへんどうしたもんかと悩んでいたり。で、ヒントになる情報はないかと探していたら、どうもペントミノなるパズルがあるらしく。

_ペントミノを解く
_パズル問題解法のアルゴリズム

なるほど、一旦ギューッと詰めちゃって、その中の何番目を利用するか、だけを乱数で求めて、とかやればそれっぽい配置になるだろうか。

と思って眺めてたのだけど、考えてみれば、自分がやろうとしてるものは、必ずしもピッチリ隙間無く領域内に収まるものではないから、これらのアルゴリズムは利用できないのだな。てなことに後で気づいて、ショボン。

とりあえず2つほど処理を考えた。 :

ひとまず次々に置いてみて、置けないと判ったらまた最初から置き直す方法と、パターンの縦横個数で領域を割って置いていく方法。

前者は、時間はかかるけど隙間無く置ける可能性がある。ただ、最悪、配置が決まるまで、領域の個数分 x 配置するパターンの数分、延々とリトライし続ける可能性が。既に置いた場所を記録しておいて無駄を省くとかしないといけないのだろうな。まあ、再帰が使えそうなあたりはいい感じなのだけど。

後者は、あっさり場所が求まる。けど、その配置具合には明らかに規則性があるというか、見た目だけでも即座に手抜き配置をしているとユーザさんに判ってしまう可能性が。

とりあえず考えた処理をメモ。 :

忘れるといかんので。ていうかメモ用紙に書いたのを清書。
  1. 「出現位置記録配列」のインデックスをチェック。置けるはずの全ての位置に置いたか? 置いたなら、エラーを返す。
  2. 乱数でx,yを取得。
  3. 取得した x,y は既に出現したか。出現済みなら、2. に戻る。
  4. x,y を、「出現位置記録配列」に記録。インデックスを進める。
  5. 「パターン配置マップ」を参照。パターンを置こうとしてる場所に別のパターンが書き込まれてないかチェック。書き込まれてたら、1. に戻る。
  6. 「パターン配置マップ」にパターンを書き込み。
  7. 次に置くパターンの、「出現位置記録配列」を初期化&先頭に自分の位置を記録。
  8. 次に置くパターンを決定。(自身が処理したのと同じ関数を再帰呼び出し)
  9. 次に置くパターンが決定できたなら、正常終了を返して、関数を抜ける。エラーが返ってきたら、自分が書き込んだパターンを消去して、1. に戻る.

#2 [nitijyou] 耳かけ型のヘッドフォンは耳が痛くなる

自分、眼鏡をかけてるせいもあるのか、どうもその手のヘッドフォンは耳が痛くなってしまう。なんていうか、耳の付け根が痛い。

同じ「耳かけ」でも、頭の後ろにバンド(?)があるタイプは楽なのだけど。そういうのって、今では店頭で見かけないんだよな。…と思ったが、 _あるな。 ネックバンド型とかリアアーム型というのか。まあ、自分の近所の電器店の店頭にはない、というだけか。

この記事へのツッコミ

Re: 耳かけ型のヘッドフォンは耳が痛くなる by Kuro    2006/09/23 07:59
インナーイヤー型ヘッドホンではなく、テクノっ子がする密閉型ヘッドホンでもない耳かけ型の類は音漏れが酷いと感じますね。
例えば電車内だと、耳の中に刺さっているインナーイヤー型はそうでもないですが耳かけ型はインナーイヤーよりは音漏れしていますよね。
だから今までインナーイヤー型しか使ったことないし、これからもインナーイヤー型だと思います。

関係ないですけどイヤホンといえば、シークレットサービスや警護の人間が使うこんなイヤホン欲しいと思ってます(←馬鹿)
http://page11.auctions.yahoo.co.jp/jp/auction/n26283330
シークレットサービスや警護の人間が使うイヤホン by mieki256    2006/09/26 02:40
> 音漏れ

そのあたり数値化してパッケージ等に書いてあればいいのでしょうけど…。
そういう製品は見かけたことがない・ユーザの使用レポートを
頼りにするしかないのがアレですよね…。

> シークレットサービスや警護の人間が使うイヤホン

うお。カッコイイ…。
パーツが透明なのがグッドですね。
装着してることがわかりにくくなる効果が期待できそう。
外出時に使うことを想定したヘッドホンなら、
透明素材を使うことも一つの売り、かもしれんですな。

#3 [nitijyou] プログラミングをしてると日記のアップロード間隔がどんどん広がってくな

1週間ぶりの更新だし…。作業メモみたいなものだから、一応毎日、メモは取っているんだけど。うーん。

以上、1 日分です。

過去ログ表示

Prev - 2006/09 - Next
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30

カテゴリで表示

検索機能は Namazu for hns で提供されています。(詳細指定/ヘルプ


注意: 現在使用の日記自動生成システムは Version 2.19.6 です。
公開されている日記自動生成システムは Version 2.19.5 です。

Powered by hns-2.19.6, HyperNikkiSystem Project