<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;A0MHQH06fCp7ImA9WhRUEk4.&quot;"><id>tag:blogger.com,1999:blog-209338774431478977</id><updated>2012-01-22T22:37:11.314+09:00</updated><category term="Python" /><category term="イベント" /><category term="Twitter" /><category term="jQuery" /><category term="3D" /><category term="CSS" /><category term="写真" /><category term="ソフト" /><category term="AIR" /><category term="動画" /><category term="ゲーム" /><category term="ActionScript" /><category term="雑記" /><category term="TopCoder" /><category term="PC" /><category term="Flex" /><category term="メモ" /><category term="料理" /><category term="Papervision3D" /><category term="Perl" /><category term="Away3D" /><category term="Google App Engine" /><category term="Web" /><title>明日の今日</title><subtitle type="html">個人的メモ帳放置ブログ。</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://aaharu.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://aaharu.blogspot.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/209338774431478977/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>aaharu</name><uri>http://www.blogger.com/profile/14446643278958061868</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>87</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/blogspot/QLagM" /><feedburner:info uri="blogspot/qlagm" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry gd:etag="W/&quot;A0MHQH05cSp7ImA9WhRUEk4.&quot;"><id>tag:blogger.com,1999:blog-209338774431478977.post-4558611699431301678</id><published>2012-01-22T22:37:00.001+09:00</published><updated>2012-01-22T22:37:11.329+09:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-22T22:37:11.329+09:00</app:edited><title>きんつば</title><content type="html">今日は上野・浅草あたりをぶらぶらしてきたんですが、お店で「きんつば」を見つけたので買ってみました。&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/-EksRYpOB2HA/TxwOJlMczfI/AAAAAAAAAUc/m8m7E7m4K7o/s1600/IMAG0028.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="180" src="http://2.bp.blogspot.com/-EksRYpOB2HA/TxwOJlMczfI/AAAAAAAAAUc/m8m7E7m4K7o/s320/IMAG0028.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
この「きんつば」というお菓子、Wikipediaにも書かれてますが、私の出身のほう（福島県会津）では、今川焼き（大判焼き）のことをきんつばと呼んでたりします。&lt;br /&gt;
&lt;a href="http://ja.wikipedia.org/wiki/%E3%81%8D%E3%82%93%E3%81%A4%E3%81%B0"&gt;http://ja.wikipedia.org/wiki/%E3%81%8D%E3%82%93%E3%81%A4%E3%81%B0&lt;/a&gt; &lt;br /&gt;
&lt;br /&gt;
各地で呼び方が異なるならまだしも、その名前の別のお菓子があるとなると非常に紛らわしいです。罠です。陰謀です。&lt;br /&gt;
&lt;br /&gt;
地元の人は今川焼きじゃないきんつばのこと知らない人が多いんじゃないかと思います。私も知ったのは比較的最近（大学生の時）で、友人に話しても「え？マジで？」みたいな反応です。&lt;br /&gt;
会津でも場所によると思いますが、喜多方、若松あたりはきんつばって呼んでる？と思うので、ほぼ会津全域そうなんじゃないかなー。&lt;br /&gt;
中通りになるとどうだかしらないですけど。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/209338774431478977-4558611699431301678?l=aaharu.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/emPsNrKWC2frhcsMfUxZQGMX7lE/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/emPsNrKWC2frhcsMfUxZQGMX7lE/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/emPsNrKWC2frhcsMfUxZQGMX7lE/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/emPsNrKWC2frhcsMfUxZQGMX7lE/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/QLagM/~4/XYSOh1NfsDc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://aaharu.blogspot.com/feeds/4558611699431301678/comments/default" title="コメントの投稿" /><link rel="replies" type="text/html" href="http://aaharu.blogspot.com/2012/01/blog-post.html#comment-form" title="0 件のコメント" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/209338774431478977/posts/default/4558611699431301678?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/209338774431478977/posts/default/4558611699431301678?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/QLagM/~3/XYSOh1NfsDc/blog-post.html" title="きんつば" /><author><name>aaharu</name><uri>http://www.blogger.com/profile/14446643278958061868</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-EksRYpOB2HA/TxwOJlMczfI/AAAAAAAAAUc/m8m7E7m4K7o/s72-c/IMAG0028.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://aaharu.blogspot.com/2012/01/blog-post.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEcDQHg5fSp7ImA9WhRWGUg.&quot;"><id>tag:blogger.com,1999:blog-209338774431478977.post-5309041919179563260</id><published>2012-01-08T00:57:00.000+09:00</published><updated>2012-01-08T01:01:11.625+09:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-08T01:01:11.625+09:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="3D" /><category scheme="http://www.blogger.com/atom/ns#" term="ActionScript" /><category scheme="http://www.blogger.com/atom/ns#" term="Away3D" /><category scheme="http://www.blogger.com/atom/ns#" term="Flex" /><title>Flashで3Dなお絵描き</title><content type="html">大学の時にブラウザ上で3Dモデルに絵を描くアプリケーションを作りました。&lt;br /&gt;
&lt;br /&gt;
長い間ブログを放置していたので、それの紹介でもしたいと思います。&lt;br /&gt;
&lt;br /&gt;
まずブラウザで3Dを扱うというのはあまりない話です。重いですし。&lt;br /&gt;
下のリンクでは描いたテクスチャを3Dモデルに貼り付けるようなことをやっていました。&lt;br /&gt;
&lt;a href="http://labs.logosware.com/archives/21"&gt;http://labs.logosware.com/archives/21&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
なんやかんやあってFlashで作るのがいいだろうって話になって、そこからは自分がいろいろ試して作っていくことになりました。&lt;br /&gt;
Flashもそんな詳しいわけではなかったし、3Dは全く分からないというぐらいだったので開発には苦労しました。&lt;br /&gt;
ブログの過去記事などを見ると試行錯誤の跡が少し見られると思います。&lt;br /&gt;
&lt;br /&gt;
まず3Dモデルをどうするかという話でしたが、開発メンバーが有料のモデリングソフトもってない、Flashの3Dライブラリでサポートされてるといった点などを考えた結果、Collada(.xml)形式にしました。&lt;br /&gt;
&lt;br /&gt;
で、3Dライブラリは当時（今でも？）一番メジャーなPapervision3Dにしようと考えていました。&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://blog.r3c7.net/?p=333"&gt;http://blog.r3c7.net/?p=333&lt;/a&gt;&lt;br /&gt;
上の記事を参考にサンプルを作っていきました。3Dモデルの作成や、マウスイベントなど苦労しましたがなんとかそれっぽいものはできました。&lt;br /&gt;
じゃあ次はシェーダーを試そうと思った時に問題が起きました。&lt;br /&gt;
&lt;a href="http://aaharu.blogspot.com/2009/10/pv3duv.html"&gt;http://aaharu.blogspot.com/2009/10/pv3duv.html&lt;/a&gt;&lt;br /&gt;
UVマッピングを使用したモデルにシェーダーを適用すると黒い線が出てきました。&lt;br /&gt;
これの解決方法は結局わからず、Papervision3D以外のライブラリではどうなのか試してみることにしました。&lt;br /&gt;
&lt;br /&gt;
で、試したのがAway3Dです。&lt;br /&gt;
まあFlashの3Dライブラリといってもメジャーなのは、Papervision3DとAway3DとAlternativa3Dぐらいでしたし、Papervision3Dから派生したものだと聞いて今までのが移植しやすいかなーと。&lt;br /&gt;
&lt;br /&gt;
それで試した結果、Away3Dは問題なく動作することがわかり、3DライブラリはAway3Dを使用することに決めました。&lt;br /&gt;
Away3Dにして良かった点はいくつかありました。&lt;br /&gt;
・上の黒い線の問題が解決したこと&lt;br /&gt;
・3Dマウスイベントが豊富なこと&lt;br /&gt;
・シェーダーなども豊富で、きれいであったこと&lt;br /&gt;
絵を描くということを考えると3Dのオブジェクトのマウスイベントがあるのはとてもよかったです。&lt;br /&gt;
悪いと思った点もいくらかあります。&lt;br /&gt;
・重い&lt;br /&gt;
・そんなに移植しやすいわけではなかった&lt;br /&gt;
&lt;br /&gt;
とそんな感じでぐだぐだと作りました。&lt;br /&gt;
せっかくなので、FlashDevelopで書き直した、一部機能削除版をソースコードごと公開します。（開発時はFlashBuilderを使いました。学生だったので無料ライセンスで）&lt;br /&gt;
今見るといろいろと直したくなりますがそこらへんは許してやってください。&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-NPbKGGY2_rM/TwhqCHrAfZI/AAAAAAAAAUQ/ekdelg3qLDs/s1600/uru.png" imageanchor="1" style=""&gt;&lt;img border="0" height="260" width="320" src="http://3.bp.blogspot.com/-NPbKGGY2_rM/TwhqCHrAfZI/AAAAAAAAAUQ/ekdelg3qLDs/s320/uru.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
Flexアプリ &lt;a href="http://www.aaharu.com/data/UruLabCreater.swf"&gt;http://www.aaharu.com/data/UruLabCreater.swf&lt;/a&gt;&lt;br /&gt;
ソースコード(Flex) &lt;a href="http://www.aaharu.com/data/srcview_urulabcreater/index.html"&gt;http://www.aaharu.com/data/srcview_urulabcreater/index.html&lt;/a&gt;&lt;br /&gt;
ソースコード(ライブラリ)&lt;a href="http://www.aaharu.com/data/srcview_urulab/index.html"&gt;http://www.aaharu.com/data/srcview_urulab/index.html&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
ソースコード書き出し後に修正行ってるのでソースコード最新じゃないですけどだいたいあってます。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/209338774431478977-5309041919179563260?l=aaharu.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/_tVFMZpbBdrm0ABL3fkAYnGXXyM/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/_tVFMZpbBdrm0ABL3fkAYnGXXyM/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/_tVFMZpbBdrm0ABL3fkAYnGXXyM/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/_tVFMZpbBdrm0ABL3fkAYnGXXyM/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/QLagM/~4/TuY2nGIQ5Gc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://aaharu.blogspot.com/feeds/5309041919179563260/comments/default" title="コメントの投稿" /><link rel="replies" type="text/html" href="http://aaharu.blogspot.com/2012/01/flash3d.html#comment-form" title="0 件のコメント" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/209338774431478977/posts/default/5309041919179563260?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/209338774431478977/posts/default/5309041919179563260?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/QLagM/~3/TuY2nGIQ5Gc/flash3d.html" title="Flashで3Dなお絵描き" /><author><name>aaharu</name><uri>http://www.blogger.com/profile/14446643278958061868</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-NPbKGGY2_rM/TwhqCHrAfZI/AAAAAAAAAUQ/ekdelg3qLDs/s72-c/uru.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://aaharu.blogspot.com/2012/01/flash3d.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Dk4ER3w5eyp7ImA9WhdRGUU.&quot;"><id>tag:blogger.com,1999:blog-209338774431478977.post-3469682284435983777</id><published>2011-08-10T23:01:00.000+09:00</published><updated>2011-08-10T23:01:46.223+09:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-08-10T23:01:46.223+09:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Google App Engine" /><category scheme="http://www.blogger.com/atom/ns#" term="Python" /><title>GAE/Pのtemplateのextendsでちょっとはまった</title><content type="html">Google App Engine (Python) のdjangoのテンプレートを使っていてちょっと躓いたことがあった。&lt;br /&gt;
&lt;br /&gt;
私は、 http://www.aaharu.com/ というサイトを持っていますが、これはGAEで作っていて、DNSもGoogle Appsで設定しています。&lt;br /&gt;
お金がかかっているのはドメインだけ。&lt;br /&gt;
&lt;br /&gt;
以前まではテンプレートを使わないでHTMLを表示していたわけですが、更新のたびにすべてのHTMLを変更するのが面倒になったので、テンプレートを使ってみることにしました。&lt;br /&gt;
GAEには標準でDjangoのテンプレートエンジンが入っていて、テンプレート継承の仕組みがあります。&lt;br /&gt;
&lt;a href="http://djangoproject.jp/doc/ja/1.0/topics/templates.html"&gt;http://djangoproject.jp/doc/ja/1.0/topics/templates.html&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://d.hatena.ne.jp/griefworker/20091028/gae_inherit_template"&gt;http://d.hatena.ne.jp/griefworker/20091028/gae_inherit_template&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
それで、テンプレート継承を使ってみたわけなのですが、HTMLの表示がくずれる現象が起きました。&lt;br /&gt;
HTMLのソースを表示させても問題は見当たらない。そしてなぜかOperaだけは正しく表示してくれる。&lt;br /&gt;
&lt;br /&gt;
Chromeの『要素を検証』で確認してみると、どうやらbase.htmlの内容の前に空文字が挿入されているようだったので原因をいろいろ調べると、原因はUTF-8の&lt;a href="http://ja.wikipedia.org/wiki/%E3%83%90%E3%82%A4%E3%83%88%E3%82%AA%E3%83%BC%E3%83%80%E3%83%BC%E3%83%9E%E3%83%BC%E3%82%AF"&gt;BOM&lt;/a&gt;だった。&lt;br /&gt;
base.htmlがBOMありのUTF-8だったため、先頭の1文字を変な風に解釈していたようです。&lt;br /&gt;
&lt;br /&gt;
というわけで、PythonでUTF-8扱うときはBOMは消そうと思いました。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/209338774431478977-3469682284435983777?l=aaharu.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/xiVcB0MkO7WIyZilvKtl3qhwFtU/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/xiVcB0MkO7WIyZilvKtl3qhwFtU/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/xiVcB0MkO7WIyZilvKtl3qhwFtU/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/xiVcB0MkO7WIyZilvKtl3qhwFtU/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/QLagM/~4/vWn9BbQpp5U" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://aaharu.blogspot.com/feeds/3469682284435983777/comments/default" title="コメントの投稿" /><link rel="replies" type="text/html" href="http://aaharu.blogspot.com/2011/08/gaeptemplateextends.html#comment-form" title="0 件のコメント" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/209338774431478977/posts/default/3469682284435983777?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/209338774431478977/posts/default/3469682284435983777?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/QLagM/~3/vWn9BbQpp5U/gaeptemplateextends.html" title="GAE/Pのtemplateのextendsでちょっとはまった" /><author><name>aaharu</name><uri>http://www.blogger.com/profile/14446643278958061868</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://aaharu.blogspot.com/2011/08/gaeptemplateextends.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Dk4ESX44fSp7ImA9WhdSFE4.&quot;"><id>tag:blogger.com,1999:blog-209338774431478977.post-2479135777219256737</id><published>2011-07-24T00:16:00.002+09:00</published><updated>2011-07-24T00:28:28.035+09:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-07-24T00:28:28.035+09:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="ゲーム" /><title>ドリキャスの怪しげな商品購入してみた</title><content type="html">社会人になって多少懐にも余裕が出たので、ネタ商品を購入してみた。&lt;br /&gt;
&lt;br /&gt;
今回買ったのはこれです。&lt;br /&gt;
&lt;iframe frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm-jp.amazon.co.jp/e/cm?lt1=_blank&amp;amp;bc1=000000&amp;amp;IS2=1&amp;amp;bg1=FFFFFF&amp;amp;fc1=000000&amp;amp;lc1=0000FF&amp;amp;t=aaharu-22&amp;amp;o=9&amp;amp;p=8&amp;amp;l=as4&amp;amp;m=amazon&amp;amp;f=ifr&amp;amp;ref=ss_til&amp;amp;asins=B0053AY1FC" style="height: 240px; width: 120px;"&gt;&lt;/iframe&gt;&lt;br /&gt;
私が購入した時はAmazonでは品切れだったので、Yahoo!ショッピングを利用しました。&lt;br /&gt;
&lt;a href="http://atq.ck.valuecommerce.com/servlet/atq/referral?sid=2219441&amp;amp;pid=877212733&amp;amp;vcptn=shpg%2Fp%2FBeL6ALurTa.1LOOJM2zb&amp;amp;vc_url=http%3A%2F%2Fstore.shopping.yahoo.co.jp%2Fichibankan%2F43-8241.html" target="_blank"&gt;&lt;img alt="Dreamcast SDL/TF(microSD) / ドリームキャスト専用 バックアップツール" border="0" src="http://item.shopping.c.yimg.jp/i/j/ichibankan_43-8241" /&gt;&lt;br /&gt;
Dreamcast SDL/TF(microSD) / ドリームキャスト専用 バックアップツール&lt;img border="0" height="1" src="http://atq.ad.valuecommerce.com/servlet/atq/gifbanner?sid=2219441&amp;amp;pid=877212733&amp;amp;vcptn=shpg%2Fp%2FBeL6ALurTa.1LOOJM2zb" width="1" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
今現在（2011年7月）は4千円程度が相場でしょうか。&lt;br /&gt;
以前はオークションで8千円以上はしたドリームキャストのブロードバンドアダプターも、この方法ができてから値下がり傾向にあるっぽい？です。&lt;br /&gt;
&lt;br /&gt;
商品説明に『※玄人専用』って書いてあるのがなんかアレゲです。&lt;br /&gt;
&lt;br /&gt;
少し知識があれば&lt;a href="http://f17.aaa.livedoor.jp/~takotako/dcserial_ft232bm.php"&gt;こちら&lt;/a&gt;のサイトを参考に自作できるようなもので、結構安く仕上がるものらしいです。&lt;br /&gt;
でも道具も知識もないのでとりあえず買ってみることにした。&lt;br /&gt;
&lt;br /&gt;
使うもの&lt;br /&gt;
DC本体（MIL-CD対応版）&lt;br /&gt;
上の商品&lt;br /&gt;
microSD&lt;br /&gt;
CD&lt;br /&gt;
&lt;br /&gt;
手順&lt;br /&gt;
dcsdripを &lt;a href="http://f17.aaa.livedoor.jp/~takotako/dcserial_ft232bm.php"&gt;http://f17.aaa.livedoor.jp/~takotako/dcserial_ft232bm.php&lt;/a&gt; からDL&lt;br /&gt;
↓&lt;br /&gt;
CDに焼く&lt;br /&gt;
参考： &lt;a href="http://ayasuke.exblog.jp/14771039/"&gt;http://ayasuke.exblog.jp/14771039/&lt;/a&gt;&lt;br /&gt;
私も上のサイトと同じようにDir2bootを使用しましたが、DiscJugglerがなかったので代わりにImgBurnを使用しました。dllファイルがないと言われたのでそこは適当にやっつけた。&lt;br /&gt;
ImgBurnでよくわからないアラートが出たけど無視しても問題なかった。&lt;br /&gt;
↓&lt;br /&gt;
CDをDCにセットして吸出し&lt;br /&gt;
参考： &lt;a href="http://ayasuke.exblog.jp/14773019/"&gt;http://ayasuke.exblog.jp/14773019/&lt;/a&gt;&lt;br /&gt;
ちなみに同じファイル名があった場合上書きされる仕様なので、2枚分のデータを1つのSDにやりたいときは名前変えるとよろし。&lt;br /&gt;
実機ではプレイできても、少しでも傷がついているものはリードエラーになるものが多かったです。&lt;br /&gt;
↓&lt;br /&gt;
nulldcをDL&lt;br /&gt;
&lt;a href="http://code.google.com/p/nulldc/"&gt;http://code.google.com/p/nulldc/&lt;/a&gt;&lt;br /&gt;
上のページにあるように、&lt;a href="http://www.microsoft.com/downloads/ja-jp/details.aspx?familyid=a7b7a05e-6de6-4d3a-a423-37bf0912db84&amp;amp;displaylang=ja-nec"&gt;Visual C++ 2010 Runtimes&lt;/a&gt;と&lt;a href="http://www.microsoft.com/downloads/ja-jp/details.aspx?familyid=2da43d38-db71-4c1b-bc6a-9b6652cd92a3&amp;amp;displaylang=ja-nec"&gt;DirectX 9c Runtimes&lt;/a&gt;が必要。&lt;br /&gt;
データフォルダにflashとbiosを名前を変えて置けば準備完了。&lt;br /&gt;
&lt;br /&gt;
nulldcはShiftがスタートで、xcvbがABCD、asがLRとかでした。キーボードよりも360コントローラーでやるとやりやすそうですね。&lt;br /&gt;
しかし、nulldcの開発自体は去年から止まっているっぽい？&lt;br /&gt;
寄付も募集していたようですけど、今はどうなっているのかよくわらかないです。&lt;br /&gt;
あと、日本語フォルダ読めないようなので注意。&lt;br /&gt;
&lt;br /&gt;
nulldcの完成度はそこそこですが、これ以上のアップデートもなさそうだし、互換が完璧というわけでもないので、やはりVGAボックスと実機でプレイというのが今のとこ一番かなぁ。&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-9dPYY-LtOP8/Tirk-GHtWxI/AAAAAAAAASM/XEKukHgC0VE/s1600/%25E3%2582%25AD%25E3%2583%25A3%25E3%2583%2597%25E3%2583%2581%25E3%2583%25A3.PNG" imageanchor="1"&gt;&lt;img border="0" height="129" src="http://2.bp.blogspot.com/-9dPYY-LtOP8/Tirk-GHtWxI/AAAAAAAAASM/XEKukHgC0VE/s200/%25E3%2582%25AD%25E3%2583%25A3%25E3%2583%2597%25E3%2583%2581%25E3%2583%25A3.PNG" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/209338774431478977-2479135777219256737?l=aaharu.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/aaSibU8WNTA1S5tJ0xpdUdTzgyg/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/aaSibU8WNTA1S5tJ0xpdUdTzgyg/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/aaSibU8WNTA1S5tJ0xpdUdTzgyg/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/aaSibU8WNTA1S5tJ0xpdUdTzgyg/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/QLagM/~4/jlyyezV3adQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://aaharu.blogspot.com/feeds/2479135777219256737/comments/default" title="コメントの投稿" /><link rel="replies" type="text/html" href="http://aaharu.blogspot.com/2011/07/blog-post.html#comment-form" title="1 件のコメント" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/209338774431478977/posts/default/2479135777219256737?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/209338774431478977/posts/default/2479135777219256737?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/QLagM/~3/jlyyezV3adQ/blog-post.html" title="ドリキャスの怪しげな商品購入してみた" /><author><name>aaharu</name><uri>http://www.blogger.com/profile/14446643278958061868</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-9dPYY-LtOP8/Tirk-GHtWxI/AAAAAAAAASM/XEKukHgC0VE/s72-c/%25E3%2582%25AD%25E3%2583%25A3%25E3%2583%2597%25E3%2583%2581%25E3%2583%25A3.PNG" height="72" width="72" /><thr:total>1</thr:total><feedburner:origLink>http://aaharu.blogspot.com/2011/07/blog-post.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUUGQno4eyp7ImA9WhZQGE8.&quot;"><id>tag:blogger.com,1999:blog-209338774431478977.post-4252456572865662973</id><published>2011-04-26T21:56:00.001+09:00</published><updated>2011-04-26T22:07:03.433+09:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-04-26T22:07:03.433+09:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="ゲーム" /><title>アイマス2　ファーストレビュー</title><content type="html">最近プログラミングしてなくてネタがないのでゲームレビューする。&lt;br /&gt;
&lt;br /&gt;
『アイドルマスター2』&lt;br /&gt;
まだクリアしてないので、ファーストレビューです。セカンド以降はあるか微妙ですが。&lt;br /&gt;
&lt;iframe src="http://rcm-jp.amazon.co.jp/e/cm?lt1=_blank&amp;bc1=000000&amp;IS2=1&amp;bg1=FFFFFF&amp;fc1=000000&amp;lc1=0000FF&amp;t=aaharu-22&amp;o=9&amp;p=8&amp;l=as4&amp;m=amazon&amp;f=ifr&amp;ref=ss_til&amp;asins=B003V1WILE" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"&gt;&lt;/iframe&gt;&lt;br /&gt;
&lt;br /&gt;
過去シリーズは、360版、L4U、SP（ミッシングムーン）、DSってプレイしてます。つまりAC版以外だいたいやってる。&lt;br /&gt;
&lt;br /&gt;
アイマス待望の続編ってことで期待されてた作品ですが、発売前からネットで騒ぎ（？）を起こして、悪い意味で話題にもなった作品です。&lt;br /&gt;
&lt;br /&gt;
プレイ時間は今のところ5時間程度。中盤なのかな？&lt;br /&gt;
あくまで今の時点でのレビューです。&lt;br /&gt;
&lt;br /&gt;
・良い点&lt;br /&gt;
グラフィック&lt;br /&gt;
新曲&lt;br /&gt;
新キャラ（響と貴音）&lt;br /&gt;
S4U&lt;br /&gt;
&lt;br /&gt;
良い点は上で挙げた通り。&lt;br /&gt;
S4Uはこれだけで楽しめるし自分は好きです。&lt;br /&gt;
&lt;br /&gt;
・良くない点&lt;br /&gt;
曲の数&lt;br /&gt;
序盤&lt;br /&gt;
テンポ&lt;br /&gt;
ステージ&lt;br /&gt;
&lt;br /&gt;
曲の数は特別少ないわけではありませんが、前作であった曲がないというのはさみしい。&lt;br /&gt;
容量的に厳しいのかもしれませんが、あったほうがよかったなーって思います。&lt;br /&gt;
また、今回はトリオを組むのが基本なのですが、序盤はメンバー内の仲が悪かったりします。&lt;br /&gt;
正直アイドル同士の仲が悪いのを見たくないｗ&lt;br /&gt;
やよいが、「今日も仲良し2人組で、、あっ！ すみません！ 3人組 で・・・」なんて言うとか耐えられないぉ（´；ω；｀）&lt;br /&gt;
&lt;br /&gt;
あと相変わらずテンポが悪いです。&lt;br /&gt;
もうこれはシリーズ通してそう感じてるんで半分諦めてますが・・・&lt;br /&gt;
「突風アイドル・・・」とかいらねーから。&lt;br /&gt;
ついでに言うとレッスンもいらないと個人的に思う。中途半端なアクションとかいらない、シミュレーションでいい。&lt;br /&gt;
&lt;br /&gt;
最後にステージについてですが、残念だと思うことが2つ。&lt;br /&gt;
1つは歌うパートが選べないということ。ユニットのポジションで決まってるっぽい？&lt;br /&gt;
もう1つはカメラ。これも選べなくなっているんですが、自分はむしろそれよりもDSにあった視点がなくなってるのが残念です。&lt;br /&gt;
DSでは、アイドル後方から観客席を移すカメラアングルがあったんですよね。&lt;br /&gt;
&lt;a href="http://www.youtube.com/watch?v=5AbFeMRcGAQ#t=0m28s"&gt;こんなの&lt;/a&gt;&lt;br /&gt;
自分はこれが気に入っていて、DSで一番良かったものだと思ってるくらい。&lt;br /&gt;
&lt;br /&gt;
まだやりこんでないので、間違ってたらごめんなさい。&lt;br /&gt;
悪い点ばかり長く書いてますが、つまらないってわけじゃないです。&lt;br /&gt;
中盤以降はやることもわかってきて、アイドルもギスギスしてないので面白いです。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
というか2でサイネリアが1位とかどういうことなの・・・&lt;br /&gt;
&lt;br /&gt;
DSってゲーム性がなくて、あまり評価されてない面もありますが、自分は好きです。&lt;br /&gt;
変態的な（主に涼ちん）シナリオが目立ちますが、システムも頑張ってたんだなーと。まあグラフィックと音質はDSなんであれなんですが。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/209338774431478977-4252456572865662973?l=aaharu.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/5KEx3cUtSyjLip2HJ0hPnauEd_k/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/5KEx3cUtSyjLip2HJ0hPnauEd_k/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/5KEx3cUtSyjLip2HJ0hPnauEd_k/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/5KEx3cUtSyjLip2HJ0hPnauEd_k/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/QLagM/~4/fCfYZMsgJMk" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://aaharu.blogspot.com/feeds/4252456572865662973/comments/default" title="コメントの投稿" /><link rel="replies" type="text/html" href="http://aaharu.blogspot.com/2011/04/2.html#comment-form" title="0 件のコメント" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/209338774431478977/posts/default/4252456572865662973?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/209338774431478977/posts/default/4252456572865662973?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/QLagM/~3/fCfYZMsgJMk/2.html" title="アイマス2　ファーストレビュー" /><author><name>aaharu</name><uri>http://www.blogger.com/profile/14446643278958061868</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://aaharu.blogspot.com/2011/04/2.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEQBRn8_eCp7ImA9WhZQFUs.&quot;"><id>tag:blogger.com,1999:blog-209338774431478977.post-5285109436924183256</id><published>2011-04-23T21:39:00.000+09:00</published><updated>2011-04-23T21:39:17.140+09:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-04-23T21:39:17.140+09:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="ActionScript" /><title>FlexのBase64Decoder</title><content type="html">DC startup generatorのソースコードを少し修正した。&lt;br /&gt;
んで、mx.utils.Base64Decoderを使うときにちょっと躓いたのでメモ。&lt;br /&gt;
&lt;br /&gt;
修正個所は、zlib圧縮をやめたのと、&lt;br /&gt;
修正前はライブラリを使ってBase64を扱っていたのですが、どうやらFlex4には最初から&lt;br /&gt;
mx.utils.Base64Decoder&lt;br /&gt;
なるものがあるらしいので使ってみることにした。&lt;br /&gt;
&lt;br /&gt;
＊自分はFlash Builder 4で開発してます。&lt;br /&gt;
&lt;br /&gt;
まず、普通にAS3プロジェクトを作ってもBase64Decoderをインポートできない。&lt;br /&gt;
「framework.swc」というswcファイルが必要になります。&lt;br /&gt;
&lt;a href="http://blog.wszz.org/archives/650"&gt;Base64Encoder/Base64Decoderを使う&lt;/a&gt;&lt;br /&gt;
これはSDKがあるディレクトリの、[frameworks/libs]の中にあります。&lt;br /&gt;
&lt;br /&gt;
しかしまだエラーが残るので厄介。&lt;br /&gt;
&lt;a href="http://blog.glasses-factory.net/2010/09/26/Base64Deoder-utils"&gt;Base64Decoder 使おうとしたら「リソースバンドルutilsを解決できません」とか言い出したのでやっつけた&lt;/a&gt;&lt;br /&gt;
なぜかダミーのフォルダを作らないといけないようです・・・&lt;br /&gt;
&lt;br /&gt;
あとは問題なく使えます。&lt;br /&gt;
設定さえ終われば便利です。&lt;br /&gt;
&lt;br /&gt;
以下ソースコード。&lt;br /&gt;
&lt;pre class="brush:as3"&gt;package
{
 import flash.display.Sprite;
 import flash.display.StageScaleMode;
 import flash.events.Event;
 import flash.filters.BlurFilter;
 import flash.net.URLRequest;
 import flash.net.navigateToURL;
 import flash.text.TextField;
 import flash.text.TextFormat;
 import flash.utils.ByteArray;
 
 import mx.utils.Base64Decoder;
 
 import org.libspark.betweenas3.BetweenAS3;
 import org.libspark.betweenas3.easing.Cubic;
 import org.libspark.betweenas3.easing.Quad;
 import org.libspark.betweenas3.tweens.ITween;
 
 public class DC extends Sprite
 {
  private function Base64toByteArray(data:String):ByteArray
  {
   var byteArray:ByteArray;
   var base64Decoder:Base64Decoder = new Base64Decoder();
   base64Decoder.decode(data);
   try {
    byteArray = base64Decoder.toByteArray();
    byteArray.position = 0;
   } catch (e:Error) {
    return null;
   }
   return byteArray;
  }
  
  private const R:uint = 60;
  private const W:Number = stage.stageWidth / 2;
  private const H:Number = stage.stageHeight / 2;
  private var _letter:Array = [];
  private var _ball:Ball;
  private var _temp:TextField = new TextField();
  private var _bounceTiem:Number = 0.36;
  
  public function DC()
  {
   stage.scaleMode = StageScaleMode.SHOW_ALL;
   stage.frameRate = 60;
   
   var param:Object = loaderInfo.parameters;
   var word:String = param["w"];
   if(word == null)
    word = "Dreamcast";
   else {
    var ba:ByteArray = new ByteArray();
    ba = Base64toByteArray(word);
    if(!ba) {
     navigateToURL(new URLRequest("/dc/"));
    } else {
     word = ba.readUTFBytes(ba.length);
    }
   }
   _temp.text = word;
   var format:TextFormat = new TextFormat(null, R);
   _temp.setTextFormat(format);
   
   for(var i:int = 0; i &lt; _temp.text.length; i++)
   {
    var tf:TextField = new TextField();
    tf.text = _temp.text.charAt(i);
    tf.selectable = false;
    tf.setTextFormat(format);
    
    if(i)
     tf.x = _letter[i-1].x + _letter[i-1].textWidth;
    else
     tf.x = W - _temp.textWidth / 2;
    tf.y = H + R/2;
    _letter.push(tf);
   }
   
   _ball = new Ball();
   _ball.filters = [new BlurFilter()];
   _ball.x = _letter[0].x - R*2.2;
   _ball.y = _letter[0].y - R*4;
   addChild(_ball);
   
   var tween:ITween = BetweenAS3.bezierTo(_ball, {x: _letter[0].x + _letter[0].textWidth, y: _letter[0].y + 35}, {x: _letter[0].x + R, y: _letter[0].y - R}, 2, Cubic.easeIn);
   tween.onComplete = bounce;
   tween.onCompleteParams = [1];
   tween.play();
  }
  
  private function bounce(n:uint):void
  {
   character(n-1);
   var tween:ITween = BetweenAS3.bezierTo(_ball, {x: _letter[n].x + _letter[n].textWidth, y: _ball.y}, {x: _letter[n].x + _letter[n].textWidth / 4, y: _letter[n].y - 10}, _bounceTiem);
   if(_bounceTiem &gt;= 0.22) {
    _bounceTiem -= 0.02;
   }
   if(n &lt; _temp.text.length - 1)
    tween.onComplete = function():void
    {
     bounce(n+1)
    };
   else
    tween.onComplete = ぴょーん;
   tween.play();
  }
  
  private function character(index:uint):void
  {
   addChild(_letter[index]);
   BetweenAS3.tween(_letter[index], {y: _letter[index].y, alpha: 1}, {y: _letter[index].y + 20, alpha: 0}).play();
  }
  
  private function ぴょーん():void
  {
   character(_temp.text.length - 1);
   
   var tween:ITween = BetweenAS3.bezierTo(_ball, {x: W, y: _letter[0].y - R*0.8}, {x: (W + _ball.x) / 2, y: _letter[0].y - R*5}, 1.2, Quad.easeOut);
   tween.play();
   tween.onComplete = ぐるぐる;
  }
  
  private function ぐるぐる():void
  {
   var sp:Sprite = new Sprite();
   sp.filters = [new BlurFilter()];
   addChild(sp);
   sp.graphics.lineStyle(6, _ball.color);
   sp.graphics.moveTo(_ball.x, _ball.y);
   
   addEventListener(Event.ENTER_FRAME, onEnterFrame(sp));
   
   var tweenArray:Array = [];
   for(var i:int = 0; i &lt; 900; i++)
   {
    var toX:Number = _ball.x - R * i / 720 * Math.cos(i * Math.PI / 180);
    var toY:Number = _ball.y - R * i / 720 * Math.sin(i * Math.PI / 180);
    tweenArray.push(BetweenAS3.to(_ball, {x: toX, y: toY}, 0.002));
   }
   var tween:ITween = BetweenAS3.serialTweens(tweenArray);
   tween.onComplete = function():void
   {
    removeEventListener(Event.ENTER_FRAME, onEnterFrame);
    sp.graphics.lineTo(_ball.x, _ball.y);
    removeChild(_ball);
   };
   tween.play();
  }
  
  private function onEnterFrame(sp:Sprite):Function
  {
   return function(e:Event):void
   {
    sp.graphics.lineTo(_ball.x, _ball.y);
   };
  }
 }
}

import flash.display.Sprite;

class Ball extends Sprite
{
 private var _color:uint;
 
 public function get color():uint
 {
  return _color;
 }
 
 public function Ball(j:Boolean = true) {
  if(j)
  {
   graphics.beginFill(0xea5504);
   _color = 0xea5504;
  } else {
   graphics.beginFill(0x0000FF);
   _color = 0x0000FF;
  }
  graphics.drawCircle(0, 0, 4);
  graphics.endFill();
 }
}&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/209338774431478977-5285109436924183256?l=aaharu.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/tRRWfRABJSd7y9OG1VPVH1Yvcqc/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/tRRWfRABJSd7y9OG1VPVH1Yvcqc/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/tRRWfRABJSd7y9OG1VPVH1Yvcqc/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/tRRWfRABJSd7y9OG1VPVH1Yvcqc/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/QLagM/~4/cjZMCkOFBjs" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://aaharu.blogspot.com/feeds/5285109436924183256/comments/default" title="コメントの投稿" /><link rel="replies" type="text/html" href="http://aaharu.blogspot.com/2011/04/flexbase64decoder.html#comment-form" title="0 件のコメント" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/209338774431478977/posts/default/5285109436924183256?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/209338774431478977/posts/default/5285109436924183256?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/QLagM/~3/cjZMCkOFBjs/flexbase64decoder.html" title="FlexのBase64Decoder" /><author><name>aaharu</name><uri>http://www.blogger.com/profile/14446643278958061868</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://aaharu.blogspot.com/2011/04/flexbase64decoder.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0cFRX08eyp7ImA9WhZQEU8.&quot;"><id>tag:blogger.com,1999:blog-209338774431478977.post-8033651273514657577</id><published>2011-04-18T21:16:00.000+09:00</published><updated>2011-04-18T21:16:54.373+09:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-04-18T21:16:54.373+09:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="TopCoder" /><title>BottomCoder SRM398 DIV2</title><content type="html">下書きのままだったので公開する。&lt;br /&gt;
&lt;br /&gt;
昔過ぎてもう問題覚えてない。&lt;br /&gt;
たしかこれはどっちも解けたはず。&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="brush:java"&gt;import java.util.Arrays;

public class MinDifference {
 public double EPS = 1e-6;
 
 public int closestElements(int A0, int X, int Y, int M, int n) {
  int[] a = new int[n];
  a[0] = A0;
  for(int i = 1; i &lt; n; i++) {
   a[i] = (a[i - 1] * X + Y) % M;
  }
  Arrays.sort(a);
  int res = Integer.MAX_VALUE;
  for(int i = a.length - 1; i &gt; 0; i--) {
   res = Math.min(res, a[i] - a[i - 1]);
  }
  return res;
 }
 
 public void tr(Object... o) { System.out.println(o.length &gt; 1 || o[0].getClass().isArray() ? Arrays.deepToString(o) : o[0]); }
}&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
激しい。&lt;br /&gt;
こんなことしなくても解ける・・・&lt;br /&gt;
&lt;pre class="brush:java"&gt;import java.util.Arrays;
import java.util.LinkedList;

public class CountExpressions {
 public double EPS = 1e-6;
 
 private LinkedList&lt;integer&gt; list = new LinkedList&lt;integer&gt;();
 private int res = 0;
 private int ans;
 
 public int calcExpressions(int x, int y, int val) {
  ans = val;
  
  list.add(x);
  list.add(x);
  list.add(y);
  list.add(y);
  dfs("+", 0, list.poll(), 0);
  
  list = new LinkedList&lt;integer&gt;();
  list.add(x);
  list.add(y);
  list.add(x);
  list.add(y);
  dfs("+", 0, list.poll(), 0);

  list = new LinkedList&lt;integer&gt;();
  list.add(x);
  list.add(y);
  list.add(y);
  list.add(x);
  dfs("+", 0, list.poll(), 0);

  list = new LinkedList&lt;integer&gt;();
  list.add(y);
  list.add(y);
  list.add(x);
  list.add(x);
  dfs("+", 0, list.poll(), 0);

  list = new LinkedList&lt;integer&gt;();
  list.add(y);
  list.add(x);
  list.add(x);
  list.add(y);
  dfs("+", 0, list.poll(), 0);

  list = new LinkedList&lt;integer&gt;();
  list.add(y);
  list.add(x);
  list.add(y);
  list.add(x);
  dfs("+", 0, list.poll(), 0);
  
  tr(res);
  return res;
 }
 
 private void dfs(String s, long val, int v, int n) {
  if(s.equals("+")) {
   val += (long)v;
  } else if(s.equals("-")) {
   val -= (long)v;
  } else {
   val *= (long)v;
  }
  
  if(n &gt; 2) {
   if(val == ans) {
    res++;
   }
   list.add(0, v);
   return;
  }

  dfs("+", val, list.poll(), n + 1);
  dfs("-", val, list.poll(), n + 1);
  dfs("*", val, list.poll(), n + 1);
  list.add(0, v);
 }
 
 public void tr(Object... o) { System.out.println(o.length &gt; 1 || o[0].getClass().isArray() ? Arrays.deepToString(o) : o[0]); }
}&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/209338774431478977-8033651273514657577?l=aaharu.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/1v3ey52xEbIM0aUJzIqAGFvZo_s/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/1v3ey52xEbIM0aUJzIqAGFvZo_s/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/1v3ey52xEbIM0aUJzIqAGFvZo_s/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/1v3ey52xEbIM0aUJzIqAGFvZo_s/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/QLagM/~4/z0Dc2lXQGC0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://aaharu.blogspot.com/feeds/8033651273514657577/comments/default" title="コメントの投稿" /><link rel="replies" type="text/html" href="http://aaharu.blogspot.com/2011/04/bottomcoder-srm398-div2.html#comment-form" title="0 件のコメント" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/209338774431478977/posts/default/8033651273514657577?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/209338774431478977/posts/default/8033651273514657577?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/QLagM/~3/z0Dc2lXQGC0/bottomcoder-srm398-div2.html" title="BottomCoder SRM398 DIV2" /><author><name>aaharu</name><uri>http://www.blogger.com/profile/14446643278958061868</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://aaharu.blogspot.com/2011/04/bottomcoder-srm398-div2.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEYNRn49cCp7ImA9Wx9aFUw.&quot;"><id>tag:blogger.com,1999:blog-209338774431478977.post-8757311524937296695</id><published>2011-03-08T00:36:00.000+09:00</published><updated>2011-03-08T00:36:37.068+09:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-03-08T00:36:37.068+09:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="ゲーム" /><category scheme="http://www.blogger.com/atom/ns#" term="雑記" /><title>零の軌跡クリアした</title><content type="html">先日やっと『零の軌跡』をクリアしました。&lt;br /&gt;
&lt;br /&gt;
&lt;iframe src="http://rcm-jp.amazon.co.jp/e/cm?lt1=_blank&amp;bc1=000000&amp;IS2=1&amp;bg1=FFFFFF&amp;fc1=000000&amp;lc1=0000FF&amp;t=aaharu-22&amp;o=9&amp;p=8&amp;l=as4&amp;m=amazon&amp;f=ifr&amp;asins=B003ULN9N6" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"&gt;&lt;/iframe&gt;&lt;br /&gt;
&lt;br /&gt;
それなりに面白かったです。いい意味でも悪い意味でもシステム面で過去作からの大きな変化はない。&lt;br /&gt;
個人的には、戦闘システムをちょっと変えて欲しい。&lt;br /&gt;
&lt;br /&gt;
プレイ時間はセーブデータを見ると、79時間39分（ハード）。RPGとしてはたぶん一般的な長さだと思う。&lt;br /&gt;
ただ今の自分にとってはちょっと長い・・・買ったのは去年の10月だからクリアまで半年ぐらいかかってる。&lt;br /&gt;
英雄伝説の空の軌跡シリーズは全部PSPでプレイしてますが、各作品のプレイ時間は&lt;br /&gt;
FC　53時間22分（ノーマル）&lt;br /&gt;
SC　90時間36分（ノーマル）&lt;br /&gt;
3rd　58時間43分（ノーマル）&lt;br /&gt;
となっていて過去作と比べても長めなのかも。&lt;br /&gt;
&lt;br /&gt;
今回は初回プレイからハードにした。&lt;br /&gt;
戦闘は銀戦が一番苦労した。ラスボスより面倒だよね、あれ。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/209338774431478977-8757311524937296695?l=aaharu.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/N4fdf00grNVDVHFC8X6uxc0rhcc/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/N4fdf00grNVDVHFC8X6uxc0rhcc/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/N4fdf00grNVDVHFC8X6uxc0rhcc/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/N4fdf00grNVDVHFC8X6uxc0rhcc/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/QLagM/~4/xjUmfkjUDK4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://aaharu.blogspot.com/feeds/8757311524937296695/comments/default" title="コメントの投稿" /><link rel="replies" type="text/html" href="http://aaharu.blogspot.com/2011/03/blog-post.html#comment-form" title="0 件のコメント" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/209338774431478977/posts/default/8757311524937296695?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/209338774431478977/posts/default/8757311524937296695?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/QLagM/~3/xjUmfkjUDK4/blog-post.html" title="零の軌跡クリアした" /><author><name>aaharu</name><uri>http://www.blogger.com/profile/14446643278958061868</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://aaharu.blogspot.com/2011/03/blog-post.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEIDQnsyfip7ImA9Wx9bGEw.&quot;"><id>tag:blogger.com,1999:blog-209338774431478977.post-6310538278107197160</id><published>2011-02-27T23:20:00.002+09:00</published><updated>2011-02-27T23:22:53.596+09:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-02-27T23:22:53.596+09:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="メモ" /><title>メモっす</title><content type="html">ちょっと暇なのでブックマーク整理を兼ねたメモ。&lt;br /&gt;
かぶってるのあるかも。古いのも載ってるので注意。&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://jp.layer8.sh/reference/entry/show/id/908"&gt;CentOSにJava SE Development Kit (JDK)をインストールするメモ - Layer8 Reference&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://blog.livedoor.jp/sasata299/archives/51344765.html"&gt;Cloudera を使って CentOS に Hadoop on EC2 な環境を整える 第一回 - (ﾟ∀ﾟ)o彡 sasata299's blog&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://blog.liris.org/2009/05/hadooppythonno.html"&gt;Emerge Technology: [翻訳]Hadoopで動くPythonのMapReduceプログラムを書く&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://www.atmarkit.co.jp/fwcr/rensai2/flex4_05/01.html"&gt;Flexアプリを3つのパブリック・クラウドと連携する方法（1/4）- ＠IT&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://0-oo.net/sbox/python-box/appengine-oauth"&gt;Google App Engineで手軽にOAuthアプリを作成！（Twitterとか！） - AppEngine-OAuth [ゼロと無限の間に]&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://metasearch.sourceforge.jp/wiki/index.php?Hadoop%A5%BB%A5%C3%A5%C8%A5%A2%A5%C3%A5%D7"&gt;Hadoopセットアップ - Meta Search&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://blog.mikuriya.biz/archives/52"&gt;Javaオープンソース「Nutch」はクロール→インデクシング→検索までいける | RwJ&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://hgotoh.jp/wiki/wiki.cgi?page=SSH%A4%C7%A5%D1%A5%B9%A5%EF%A1%BC%A5%C9%CC%B5%A4%B7%A4%CE%A5%ED%A5%B0%A5%A4%A5%F3"&gt;SSHでパスワード無しのログイン - 努力したＷｉｋｉ&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://stackoverflow.com/questions/81451/upload-files-in-google-app-engine"&gt;Upload files in Google App Engine - Stack Overflow&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://blog.mudaimemo.com/2010/03/google-app-engine-twitteroauth.html"&gt;無題メモランダム: TwitterボットをOAuthに対応させてみた - Google App Engine(Python)&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://blog.mudaimemo.com/2010/02/google-app-engine-twitter-oauth.html"&gt;無題メモランダム: Google App Engine + Twitter + OAuthでTwitterにつぶやくためのメモ&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://coliss.com/articles/freebies/freebies-handwriting-japanese-font.html"&gt;漢字も使える手書き風の日本語フォントのまとめ | コリス&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/209338774431478977-6310538278107197160?l=aaharu.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/NuUnIK9mwdpGOjE1o4QHK3IeR1Q/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/NuUnIK9mwdpGOjE1o4QHK3IeR1Q/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/NuUnIK9mwdpGOjE1o4QHK3IeR1Q/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/NuUnIK9mwdpGOjE1o4QHK3IeR1Q/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/QLagM/~4/QRSuMJwBCY0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://aaharu.blogspot.com/feeds/6310538278107197160/comments/default" title="コメントの投稿" /><link rel="replies" type="text/html" href="http://aaharu.blogspot.com/2011/02/blog-post.html#comment-form" title="0 件のコメント" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/209338774431478977/posts/default/6310538278107197160?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/209338774431478977/posts/default/6310538278107197160?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/QLagM/~3/QRSuMJwBCY0/blog-post.html" title="メモっす" /><author><name>aaharu</name><uri>http://www.blogger.com/profile/14446643278958061868</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://aaharu.blogspot.com/2011/02/blog-post.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkYBRH07fSp7ImA9Wx9QEko.&quot;"><id>tag:blogger.com,1999:blog-209338774431478977.post-3910202012957440910</id><published>2010-12-25T19:49:00.000+09:00</published><updated>2010-12-25T19:49:15.305+09:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-12-25T19:49:15.305+09:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="TopCoder" /><title>BottomCoder SRM403 DIV2</title><content type="html">これからは本番はTopCoderってタイトルで、練習はBottomCoderってタイトルにします。&lt;br /&gt;
最近TopCoderの記事が多いのでもっとほかの記事も書きたいです。&lt;br /&gt;
&lt;br /&gt;
250&lt;br /&gt;
&lt;pre class="brush:java"&gt;public class TheLargestLuckyNumber {
 public int find(int n) {
  outer: for(int i = n; i &amp;gt;= 4; i--) {
   for(int j = 0; j &amp;lt; Integer.toString(i).length(); j++) {
    if(Integer.toString(i).charAt(j) != '7' &amp;amp;&amp;amp; Integer.toString(i).charAt(j) != '4') {
     continue outer;
    }
   }
   return i;
  }
  
  return 0;
 }
}&lt;/pre&gt;早く解けた。2重ループだとラベル便利。&lt;br /&gt;
&lt;br /&gt;
500 &lt;br /&gt;
&lt;pre class="brush:java"&gt;public class TheLuckyNumbers {
 public int count(int a, int b) {
  int count = 0;
  String sa = Integer.toString(a);
  String sb = Integer.toString(b);
  int len = sb.length();
  for(int j = 1; j &amp;lt;= len; j++) {
   for(int mask = 0; mask &amp;lt; (1 &amp;lt;&amp;lt; j); mask++) {
    String str = "";
    for(int i = 0; i &amp;lt; j; i++) {
     if((mask &amp;amp; (1 &amp;lt;&amp;lt; i)) &amp;gt; 0) {
      str += "7";
     } else {
      str += "4";
     }
    }
    if((str.length() &amp;gt; sa.length() || (str.length() == sa.length() &amp;amp;&amp;amp; str.compareTo(sa) &amp;gt;= 0)) &amp;amp;&amp;amp; (str.length() &amp;lt; sb.length() || str.compareTo(sb) &amp;lt;= 0)) {
     count++;
    }
   }
  }
  return count;
 }
}&lt;/pre&gt;250のように全探索すると、2秒以内に終わらないので計算量を減らす必要がある問題。&lt;br /&gt;
いろいろな解き方でアプローチしてて時間内に終わらなかった。&lt;br /&gt;
自力で解くことはできたけど、これぐらいの問題を解けないと緑安定はしないし、解けるようになりたい。&lt;br /&gt;
roseとlilyのときにも使ったビットを使った方法で解いてます。この問題は解き方いくつかありそう。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/209338774431478977-3910202012957440910?l=aaharu.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/ziDLvahErpo8sNedORcKLRmaoxM/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ziDLvahErpo8sNedORcKLRmaoxM/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/ziDLvahErpo8sNedORcKLRmaoxM/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ziDLvahErpo8sNedORcKLRmaoxM/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/QLagM/~4/aHCM5sg-TZk" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://aaharu.blogspot.com/feeds/3910202012957440910/comments/default" title="コメントの投稿" /><link rel="replies" type="text/html" href="http://aaharu.blogspot.com/2010/12/bottomcoder-srm403-div2.html#comment-form" title="0 件のコメント" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/209338774431478977/posts/default/3910202012957440910?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/209338774431478977/posts/default/3910202012957440910?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/QLagM/~3/aHCM5sg-TZk/bottomcoder-srm403-div2.html" title="BottomCoder SRM403 DIV2" /><author><name>aaharu</name><uri>http://www.blogger.com/profile/14446643278958061868</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://aaharu.blogspot.com/2010/12/bottomcoder-srm403-div2.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CU8HQX84fip7ImA9Wx9RFEU.&quot;"><id>tag:blogger.com,1999:blog-209338774431478977.post-3003461471697376463</id><published>2010-12-14T18:33:00.002+09:00</published><updated>2010-12-16T16:17:10.136+09:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-12-16T16:17:10.136+09:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="TopCoder" /><title>TopCoder練習 SRM424 DIV2</title><content type="html">250&lt;a href="http://www.topcoder.com/stat?c=problem_statement&amp;amp;pm=10176"&gt;問題文&lt;/a&gt;&lt;br /&gt;
&lt;pre class="brush:java"&gt;public class MagicSpell {
 public String fixTheSpell(String spell) {
  String magic = new String();
  for(int i = 0; i &amp;lt; spell.length(); i++) {
   if(spell.charAt(i) == 'A' || spell.charAt(i) == 'Z') {
    magic += spell.charAt(i);
   }
  }
  String magicSpell = new String();
  int count = 0;
  for(int i = 0; i &amp;lt; spell.length(); i++) {
   if(spell.charAt(i) == 'A' || spell.charAt(i) == 'Z') {
    magicSpell += magic.charAt(magic.length()-1-count);
    count++;
   } else {
    magicSpell += spell.charAt(i);
   }
  }
  return magicSpell;
 }
}&lt;/pre&gt;問題文が読めれば解ける。コードは汚い。&lt;br /&gt;
&lt;br /&gt;
500&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="brush:java"&gt;import java.util.ArrayList;

public class ProductOfDigits {
 public int smallestNumber(int N) {
  if(N &amp;lt; 10) return 1;
  
  ArrayList&amp;lt;Integer&amp;gt; list = new ArrayList&amp;lt;Integer&amp;gt;();
  for(int i = 9; i &amp;gt; 1; i--) {
   if(N % i == 0) {
    list.add(i);
   }
  }
  if(list.size() &amp;lt; 1) return -1;
  
  int index = 0;
  int a = 0;
  while(N &amp;gt; 1) {
   if(N % list.get(index) == 0) {
    a++;
    N /= list.get(index);
   } else {
    if(index &amp;lt; list.size() -1) {
     index++;
    } else {
     return -1;
    }
   }
  }
  return a;
 }
}&lt;/pre&gt;問題文の意味よく分からなくて1文字もかけなかった。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/209338774431478977-3003461471697376463?l=aaharu.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/JbtgjaW0Ne15k8B7nNvs0AoRjEA/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/JbtgjaW0Ne15k8B7nNvs0AoRjEA/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/JbtgjaW0Ne15k8B7nNvs0AoRjEA/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/JbtgjaW0Ne15k8B7nNvs0AoRjEA/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/QLagM/~4/0Qw2b6CJVxM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://aaharu.blogspot.com/feeds/3003461471697376463/comments/default" title="コメントの投稿" /><link rel="replies" type="text/html" href="http://aaharu.blogspot.com/2010/12/topcoder%E7%B7%B4%E7%BF%92-srm424-div2.html#comment-form" title="0 件のコメント" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/209338774431478977/posts/default/3003461471697376463?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/209338774431478977/posts/default/3003461471697376463?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/QLagM/~3/0Qw2b6CJVxM/topcoder%E7%B7%B4%E7%BF%92-srm424-div2.html" title="TopCoder練習 SRM424 DIV2" /><author><name>aaharu</name><uri>http://www.blogger.com/profile/14446643278958061868</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://aaharu.blogspot.com/2010/12/topcoder%E7%B7%B4%E7%BF%92-srm424-div2.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ck4CRn47cSp7ImA9Wx9REkk.&quot;"><id>tag:blogger.com,1999:blog-209338774431478977.post-3529447809930826204</id><published>2010-12-13T20:49:00.000+09:00</published><updated>2010-12-13T20:49:27.009+09:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-12-13T20:49:27.009+09:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="TopCoder" /><title>TopCoder練習 SRM 423 DIV2</title><content type="html">250&lt;a href="http://www.topcoder.com/stat?c=problem_statement&amp;amp;pm=9966"&gt;問題文&lt;/a&gt;&lt;br /&gt;
&lt;pre class="brush:java"&gt;public class TheSimpleGame {
 public int count(int n, int[] x, int[] y) {
  int a = (n+1)/2;
  int b = 0;
  for(int i = 0; i &amp;lt; x.length; i++) {
   b += (x[i] &amp;lt;= a) ? x[i] - 1 : n - x[i];
   b += (y[i] &amp;lt;= a) ? y[i] - 1 : n - y[i];
  }
  return b;
 }
}&lt;/pre&gt;簡単。&lt;br /&gt;
&lt;br /&gt;
600&lt;br /&gt;
&lt;pre class="brush:java"&gt;import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;

public class TheTower {
 public int[] count(int[] x, int[] y) {
  int[] a = new int[x.length];
  a[0] = 0;
  if(x.length == 1) {
   return a;
  }
  ArrayList&amp;lt;Integer&amp;gt; xList = new ArrayList&amp;lt;Integer&amp;gt;();
  ArrayList&amp;lt;Integer&amp;gt; yList = new ArrayList&amp;lt;Integer&amp;gt;();
  for(int i = 0; i &amp;lt; x.length; i++) {
   boolean flag1 = false;
   boolean flag2 = false;
   for(int j = 0; j &amp;lt; xList.size(); j++) {
    if(x[i] == xList.get(j)) {
     flag1 = true;
     break;
    }
   }
   if(!flag1) {
    xList.add(x[i]);
   }
   for(int j = 0; j &amp;lt; yList.size(); j++) {
    if(y[i] == yList.get(j)) {
     flag2 = true;
     break;
    }
   }
   if(!flag2) {
    yList.add(y[i]);
   }
  }
  for(int i = 1; i &amp;lt; x.length; i++) {
   ArrayList&amp;lt;Integer&amp;gt; list = new ArrayList&amp;lt;Integer&amp;gt;();
   for(int j = 0; j &amp;lt; xList.size(); j++) {
    for(int k = 0; k &amp;lt; yList.size(); k++) {
     list.add(checkCell(xList.get(j), yList.get(k), i+1, x, y));
    }
   }
   Collections.sort(list);
   a[i] = list.get(0);
  }
  return a;
 }
 
 private int checkCell(int x, int y, int n, int[] arrayX, int[] arrayY) {
  int[] array = new int[arrayX.length];
  for(int i = 0; i &amp;lt; array.length; i++) {
   array[i] = (int)Math.abs((double)(x - arrayX[i])) + (int)Math.abs((double)(y - arrayY[i]));
  }
  Arrays.sort(array);
  int move = 0;
  for(int i = 0; i &amp;lt; n; i++) {
   move += array[i];
  }
  return move;
 }
}&lt;/pre&gt;間違えたので後で修正した解答。&lt;br /&gt;
問題文は読めても結構難しい問題だと思う。これが600か。&lt;br /&gt;
おそらく、移動先のx,yはそれぞれのメジアン（中央値）になる。（ただしチェッカーが偶数のときは中央2つの平均ではなく、その2つのどちらかになる&lt;br /&gt;
そう考えると、x座標のリストと、y座標のリストの組み合わせ分だけ考慮すればいいので、その中で一番移動数が少ないものを選ぶ。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/209338774431478977-3529447809930826204?l=aaharu.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/3B7pYZpzjjHIiBw5IvP8aryI39I/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/3B7pYZpzjjHIiBw5IvP8aryI39I/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/3B7pYZpzjjHIiBw5IvP8aryI39I/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/3B7pYZpzjjHIiBw5IvP8aryI39I/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/QLagM/~4/NUu_lEYoOjk" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://aaharu.blogspot.com/feeds/3529447809930826204/comments/default" title="コメントの投稿" /><link rel="replies" type="text/html" href="http://aaharu.blogspot.com/2010/12/topcoder-srm-423-div2.html#comment-form" title="0 件のコメント" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/209338774431478977/posts/default/3529447809930826204?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/209338774431478977/posts/default/3529447809930826204?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/QLagM/~3/NUu_lEYoOjk/topcoder-srm-423-div2.html" title="TopCoder練習 SRM 423 DIV2" /><author><name>aaharu</name><uri>http://www.blogger.com/profile/14446643278958061868</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://aaharu.blogspot.com/2010/12/topcoder-srm-423-div2.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUACRHs5fip7ImA9Wx9RFEU.&quot;"><id>tag:blogger.com,1999:blog-209338774431478977.post-5248406278902193053</id><published>2010-12-13T20:32:00.001+09:00</published><updated>2010-12-16T16:16:05.526+09:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-12-16T16:16:05.526+09:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="TopCoder" /><title>TopCoder SRM490 DIV2</title><content type="html">2回目。落ち込む。チャレンジやってみたくてやったけど失敗した。&lt;br /&gt;
250　○&lt;br /&gt;
500　未提出&lt;br /&gt;
1000　未提出&lt;br /&gt;
Rate 955 -&amp;gt; 789&lt;br /&gt;
&lt;br /&gt;
&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
250&lt;br /&gt;
&lt;pre class="brush:java"&gt;public class LuckyCounter {
 public int countLuckyMoments(String[] moments) {
  int lucky = 0;
  
  for(String s : moments) {
   StringBuffer h = new StringBuffer(s.substring(0, 2));
   StringBuffer m = new StringBuffer(s.substring(3));
   if(h.toString().equals(m.toString())) {
    lucky++;
    continue;
   }
   if(h.toString().equals(m.reverse().toString())) {
    lucky++;
    continue;
   }
   
   if((h.toString().charAt(0) == h.toString().charAt(1)) &amp;amp;&amp;amp; (m.toString().charAt(0) == m.toString().charAt(1))) {
    lucky++;
   }
  }
  return lucky;
 }
 
 private static void echo(Object out) {
  System.out.println(out);
 }
}&lt;/pre&gt;StringBufferでreverseができるのを最近知って、使ってみたくて使ったらStringBufferはequalsが使えないの知らなくて時間が無駄にかかってしまった。&lt;br /&gt;
今回Rateが大幅に下がった理由はこれ。&lt;br /&gt;
というか俺Javaを知らなさすぎだろ・・・普通に解いたほうが早かったね・・・&lt;br /&gt;
&lt;br /&gt;
500&lt;br /&gt;
&lt;pre class="brush:java"&gt;public class Starport {
 public double getExpectedTime(int N, int M) {
  int a = gcd(N, M);
  return (double)(N - a) / 2.0;
 }
 
 private int gcd(int a, int b) {
  if(b == 0) return a;
  return gcd(b, a % b);
 }
 
 private static void echo(Object out) {
  System.out.println(out);
 }
}&lt;/pre&gt;式がわかればこんなに簡単にかけるのか・・・まだよく理解してない。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/209338774431478977-5248406278902193053?l=aaharu.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/AkawyV8fKAgB9wGkdeDjI6fxCvc/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/AkawyV8fKAgB9wGkdeDjI6fxCvc/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/AkawyV8fKAgB9wGkdeDjI6fxCvc/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/AkawyV8fKAgB9wGkdeDjI6fxCvc/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/QLagM/~4/e5H2V78EqXw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://aaharu.blogspot.com/feeds/5248406278902193053/comments/default" title="コメントの投稿" /><link rel="replies" type="text/html" href="http://aaharu.blogspot.com/2010/12/topcoder-srm490-div2.html#comment-form" title="0 件のコメント" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/209338774431478977/posts/default/5248406278902193053?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/209338774431478977/posts/default/5248406278902193053?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/QLagM/~3/e5H2V78EqXw/topcoder-srm490-div2.html" title="TopCoder SRM490 DIV2" /><author><name>aaharu</name><uri>http://www.blogger.com/profile/14446643278958061868</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://aaharu.blogspot.com/2010/12/topcoder-srm490-div2.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUANRng5eCp7ImA9Wx9RFEU.&quot;"><id>tag:blogger.com,1999:blog-209338774431478977.post-7497686261766540044</id><published>2010-12-13T01:13:00.001+09:00</published><updated>2010-12-16T16:16:37.620+09:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-12-16T16:16:37.620+09:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="TopCoder" /><title>TopCoder SRM489 DIV2</title><content type="html">初めてのTopCoder本番ってわけだったんですが、結果は何とも言えないものにｗ&lt;br /&gt;
250　チャレンジ&lt;br /&gt;
500　未提出&lt;br /&gt;
1000　未提出&lt;br /&gt;
&lt;br /&gt;
1問も解けなく、点数はもちろん0なわけですが、レートは955というそれなりに高いという結果に。いきなり緑。&lt;br /&gt;
どうやら250の正解率が低かったみたい。&lt;br /&gt;
&lt;br /&gt;
&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;
修正済み250&lt;br /&gt;
&lt;pre class="brush:java"&gt;public class BadVocabulary {
 public int count(String badPrefix, String badSuffix, String badSubstring, String[] vocabulary) {
  int bad = 0;
  for(String word : vocabulary) {
   //pre
   if(word.length() &amp;gt;= badPrefix.length()) {
    if(word.substring(0, badPrefix.length()).equals(badPrefix)) {
     bad++;
     continue;
    }
   }
   //suf
   if(word.length() &amp;gt;= badSuffix.length()) {
    if(word.substring(word.length() - badSuffix.length()).equals(badSuffix)) {
     bad++;
     continue;
    }
   }
   //sub
   if(word.length() &amp;gt;= badSubstring.length() + 2) {
    boolean flag = false;
    for(int i = 1; i &amp;lt; word.length() - badSubstring.length(); i++) {
     if(word.substring(i, i + badSubstring.length()).equals(badSubstring)) {
      bad++;
      flag = true;
      break;
     }
    }
    if(flag) {
     continue;
    }
   }
  }
  return bad;
 }
}&lt;/pre&gt;250を落とした理由はcontinueを書かなかったので、多めの結果を返していたからでした。&lt;br /&gt;
はっきり言って問題の読み間違いですね。ほかの人が間違えてるとこと別のとこで間違えてた。ｱﾎｽ&lt;br /&gt;
&lt;br /&gt;
500&lt;br /&gt;
&lt;pre class="brush:java"&gt;public class BuyingFlowers {
 public int buy(int[] roses, int[] lilies) {
  int min = Integer.MAX_VALUE;
  for(int mask = 1; mask &amp;lt; (1 &amp;lt;&amp;lt; roses.length); mask++) {
   int rose = 0;
   int lily = 0;
   for(int i = 0; i &amp;lt; roses.length; i++) {
    if((mask &amp;amp; (1 &amp;lt;&amp;lt; i)) &amp;gt; 0) {
     rose += roses[i];
     lily += lilies[i];
    }
   }
   
   if(Math.abs(rose - lily) &amp;gt; 1) continue;
   int area = rose + lily;
   for(int l = 1; l * l &amp;lt;= area; l++) {
    if(area % l == 0) {
     min = Math.min(min, Math.abs(l - area / l));
    }
   }
  }
  if(min == Integer.MAX_VALUE) return -1;
  else return min;
 }
}&lt;/pre&gt;問題は理解したけどどうやって解いていいかわからず。&lt;br /&gt;
全パターン調べるのってこうやってやるんですね。これは正直知らないとできない・・・&lt;br /&gt;
&lt;br /&gt;
こういうテクニックってどこで教えてもらえるんですか・・・&lt;a href="http://www.amazon.co.jp/gp/product/4839931992?ie=UTF8&amp;amp;tag=aaharu-22&amp;amp;linkCode=as2&amp;amp;camp=247&amp;amp;creative=7399&amp;amp;creativeASIN=4839931992"&gt;プログラミングコンテストチャレンジブック&lt;/a&gt;&lt;img alt="" border="0" height="1" src="http://www.assoc-amazon.jp/e/ir?t=aaharu-22&amp;amp;l=as2&amp;amp;o=9&amp;amp;a=4839931992" style="border: none !important; margin: 0px !important;" width="1" /&gt;買えばいいんですか？&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/209338774431478977-7497686261766540044?l=aaharu.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/kdumEnVo5320x4UT8-VhnOVRCVI/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/kdumEnVo5320x4UT8-VhnOVRCVI/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/kdumEnVo5320x4UT8-VhnOVRCVI/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/kdumEnVo5320x4UT8-VhnOVRCVI/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/QLagM/~4/XiOSBMyYDPM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://aaharu.blogspot.com/feeds/7497686261766540044/comments/default" title="コメントの投稿" /><link rel="replies" type="text/html" href="http://aaharu.blogspot.com/2010/12/topcoder-srm489-div2.html#comment-form" title="0 件のコメント" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/209338774431478977/posts/default/7497686261766540044?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/209338774431478977/posts/default/7497686261766540044?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/QLagM/~3/XiOSBMyYDPM/topcoder-srm489-div2.html" title="TopCoder SRM489 DIV2" /><author><name>aaharu</name><uri>http://www.blogger.com/profile/14446643278958061868</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://aaharu.blogspot.com/2010/12/topcoder-srm489-div2.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C04BSHw4eip7ImA9Wx9SGE8.&quot;"><id>tag:blogger.com,1999:blog-209338774431478977.post-8723435122993752578</id><published>2010-12-09T00:25:00.000+09:00</published><updated>2010-12-09T00:25:59.232+09:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-12-09T00:25:59.232+09:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="雑記" /><title>最近買ったの</title><content type="html">先日ホリパッドEX2ターボっていうXbox360のコントローラーを購入しました。（黒い方&lt;br /&gt;
&lt;br /&gt;
&lt;iframe frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm-jp.amazon.co.jp/e/cm?lt1=_blank&amp;amp;bc1=000000&amp;amp;IS2=1&amp;amp;bg1=FFFFFF&amp;amp;fc1=000000&amp;amp;lc1=0000FF&amp;amp;t=aaharu-22&amp;amp;o=9&amp;amp;p=8&amp;amp;l=as1&amp;amp;m=amazon&amp;amp;f=ifr&amp;amp;md=1X69VDGQCMF7Z30FM082&amp;amp;asins=B002L3SXO4" style="height: 240px; width: 120px;"&gt;&lt;/iframe&gt;&lt;iframe frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm-jp.amazon.co.jp/e/cm?lt1=_blank&amp;amp;bc1=000000&amp;amp;IS2=1&amp;amp;bg1=FFFFFF&amp;amp;fc1=000000&amp;amp;lc1=0000FF&amp;amp;t=aaharu-22&amp;amp;o=9&amp;amp;p=8&amp;amp;l=as1&amp;amp;m=amazon&amp;amp;f=ifr&amp;amp;md=1X69VDGQCMF7Z30FM082&amp;amp;asins=B002L3SXP8" style="height: 240px; width: 120px;"&gt;&lt;/iframe&gt;&lt;br /&gt;
&lt;br /&gt;
感想としては、悪くはないなーって感じです。&lt;br /&gt;
もともと自分はXbox360の純正コントローラーが使いやすいって思っていた人なんで、アナログスティックとかは純正のほうが使いやすいと感じてます。しかし、純正のは方向キーがクソなので、それはこちらのほうがいいです。不満はありますが。&lt;br /&gt;
&lt;br /&gt;
そもそもなぜこのコントローラーを買ったかというと、「コントローラーで格闘ゲームやりたい」「PC用コントローラーに前面6ボタンのものが欲しい」っていうのが大きな理由。&lt;br /&gt;
&lt;a href="http://www.amazon.co.jp/gp/product/B002H9WISY?ie=UTF8&amp;amp;tag=aaharu-22&amp;amp;linkCode=as2&amp;amp;camp=247&amp;amp;creative=7399&amp;amp;creativeASIN=B002H9WISY"&gt;トーナメントエディション ファイトパッド for Xbox 360&lt;/a&gt;&lt;img alt="" border="0" height="1" src="http://www.assoc-amazon.jp/e/ir?t=aaharu-22&amp;amp;l=as2&amp;amp;o=9&amp;amp;a=B002H9WISY" style="border: none !important; margin: 0px !important;" width="1" /&gt;とどちらを購入するか少し迷いましたが、安い方を購入しました。&lt;br /&gt;
連射機能は特別欲しかったわけではありませんが、あったらあったで便利です。一部の実績の解除も楽になります。&lt;br /&gt;
&lt;br /&gt;
このコントローラーでSSFをちまちまプレイしていくです。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/209338774431478977-8723435122993752578?l=aaharu.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/pwNd0gReUMXl5TXqmYkXxaRCZNw/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/pwNd0gReUMXl5TXqmYkXxaRCZNw/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/pwNd0gReUMXl5TXqmYkXxaRCZNw/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/pwNd0gReUMXl5TXqmYkXxaRCZNw/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/QLagM/~4/L68yOAubrtI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://aaharu.blogspot.com/feeds/8723435122993752578/comments/default" title="コメントの投稿" /><link rel="replies" type="text/html" href="http://aaharu.blogspot.com/2010/12/blog-post.html#comment-form" title="0 件のコメント" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/209338774431478977/posts/default/8723435122993752578?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/209338774431478977/posts/default/8723435122993752578?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/QLagM/~3/L68yOAubrtI/blog-post.html" title="最近買ったの" /><author><name>aaharu</name><uri>http://www.blogger.com/profile/14446643278958061868</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://aaharu.blogspot.com/2010/12/blog-post.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkABRnk5cCp7ImA9Wx9TFkU.&quot;"><id>tag:blogger.com,1999:blog-209338774431478977.post-3401249367454884268</id><published>2010-11-25T19:25:00.000+09:00</published><updated>2010-11-25T19:25:57.728+09:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-11-25T19:25:57.728+09:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="TopCoder" /><title>TopCoder練習 SRM420 DIV2</title><content type="html">250　&lt;a href="http://www.topcoder.com/stat?c=problem_statement&amp;pm=9914"&gt;問題文&lt;/a&gt;（要ログイン）&lt;br /&gt;
&lt;pre class="brush:java"&gt;public class DeckRearranging {
 public String rearrange(String deck, int[] above) {
  String a = new String();
  for(int i = 0; i &lt; deck.length(); i++) {
   a = a.substring(0, above[i]) + String.valueOf(deck.charAt(i)) + a.substring(above[i]);
  }
  return a;
 }
}&lt;/pre&gt;
簡単。&lt;br /&gt;

500　&lt;a href="http://www.topcoder.com/stat?c=problem_statement&amp;pm=10058"&gt;問題文&lt;/a&gt;（要ログイン）
&lt;pre class="brush:java"&gt;import java.text.ParsePosition;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.Locale;

public class YearProgressbar {
 public double percentage(String currentDate) {
  SimpleDateFormat sdf = new SimpleDateFormat("MMM dd, yyyy HH:mm z", Locale.US);
  Date date = sdf.parse(currentDate + " EST", new ParsePosition(0));
  
  GregorianCalendar current = new GregorianCalendar();
  current.setTime(date);
  
  int year = current.get(GregorianCalendar.YEAR);
  GregorianCalendar start = new GregorianCalendar();
  String s = "January 01, " + Integer.toString(year) + " 00:00 EST";
  start.setTime(sdf.parse(s, new ParsePosition(0)));
  
  GregorianCalendar end = new GregorianCalendar();
  s = "January 01, " + Integer.toString(year + 1) + " 00:00 EST";
  end.setTime(sdf.parse(s, new ParsePosition(0)));
  
  return (double)(current.getTimeInMillis() - start.getTimeInMillis()) / (double)(end.getTimeInMillis() - start.getTimeInMillis()) * 100.0;
 }
}&lt;/pre&gt;今までで一番苦労しました。せっかくJavaを使っているんだからってCalendarクラスを使おうとした結果がこれだよ！&lt;br /&gt;
&lt;br /&gt;
もう自分で実装したほうが早かったね・・・&lt;br /&gt;
&lt;br /&gt;
ローカルではTestCaseが通るのに、TopCoder側では通らないという謎。&lt;br /&gt;
1時間以上悩んだ結果、原因は「夏時間」。&lt;br /&gt;
調べるうちにDateFormatクラスがあるから使ってやんよ、と思ったらこれもまた苦戦。&lt;br /&gt;
今度はローカルでSimpleDateFormatが動かない。なぜかTopCoder側で動く。&lt;br /&gt;
これは、Localeを指定しないと、月（Mayとか）を正しくとってこられないっぽい。デフォルトのままだと「5月」みたいに日本語表示しか読み取れなかったみたい。&lt;br /&gt;
そして、setTime(Date)した後は、setTimeZone(TimeZone)しても適用されていなくて、もうしょうがないから入力テキストにESTって記述してタイムゾーン指定してやったよ!!&lt;br /&gt;
&lt;br /&gt;
他の人の解凍を見るとDateクラスの非推奨のメソッド使うともっと簡単にできたっぽい。もうやだ。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/209338774431478977-3401249367454884268?l=aaharu.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/aVnZiHeMJrV5IwCtmy2wgfEHTC8/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/aVnZiHeMJrV5IwCtmy2wgfEHTC8/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/aVnZiHeMJrV5IwCtmy2wgfEHTC8/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/aVnZiHeMJrV5IwCtmy2wgfEHTC8/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/QLagM/~4/47Hxg3BJx6k" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://aaharu.blogspot.com/feeds/3401249367454884268/comments/default" title="コメントの投稿" /><link rel="replies" type="text/html" href="http://aaharu.blogspot.com/2010/11/topcoder-srm420-div2.html#comment-form" title="0 件のコメント" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/209338774431478977/posts/default/3401249367454884268?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/209338774431478977/posts/default/3401249367454884268?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/QLagM/~3/47Hxg3BJx6k/topcoder-srm420-div2.html" title="TopCoder練習 SRM420 DIV2" /><author><name>aaharu</name><uri>http://www.blogger.com/profile/14446643278958061868</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://aaharu.blogspot.com/2010/11/topcoder-srm420-div2.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0IBQHkzeyp7ImA9Wx9TEk4.&quot;"><id>tag:blogger.com,1999:blog-209338774431478977.post-1451565913589526063</id><published>2010-11-20T15:45:00.000+09:00</published><updated>2010-11-20T15:45:51.783+09:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-11-20T15:45:51.783+09:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="ActionScript" /><category scheme="http://www.blogger.com/atom/ns#" term="Python" /><title>ドリームキャスト起動画面のジェネレータ作ってみた</title><content type="html">ドリキャスの起動画面をFlashで再現してみた。&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://aaaharu.appspot.com/dc/"&gt;DC startup generator&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
生成されたURL（http://aaaharu.appspot.com/dcdata/DC.swf?w=eJzzSM3JyddRCM8vyklRBAAfngRqなど）に飛べば、その文字列をいつでも再現できます。&lt;br /&gt;
&lt;br /&gt;
Flashのソースコードも公開してあります。&lt;br /&gt;
Python（GAE）のコードの一部がこれ。&lt;br /&gt;
&lt;pre class="brush:python"&gt;class GenerateHandler(webapp.RequestHandler):
    def post(self):
        form = self.request.get('words')
        if len(form) &lt; 2:
            path = os.path.join(os.path.dirname(__file__), 'index.html')
            self.response.out.write(template.render(path, {'alert': "2文字未満は未対応です・・・"}))
        else:
            form = zlib.compress(form.encode('utf_8'))
            form = b64encode(form)
            self.redirect("../dcdata/DC.swf?w="+form)&lt;/pre&gt;
&lt;br /&gt;
GETでswfに文字列を渡しているのですが、流れとしては&lt;br /&gt;
HTMLのformで文字列をPOSTで送信→Pythonでzlib(gzip)圧縮→PythonでBase64エンコード→GETで渡す→swfでGET受信→ActionScriptでBase64をByteArrayにデコード→ByteArrayを解凍→文字列に挿入&lt;br /&gt;
て感じです。ちょっと違う？&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/209338774431478977-1451565913589526063?l=aaharu.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/w3ZG0EHYR4PYtVIA1s-h3YVQZmA/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/w3ZG0EHYR4PYtVIA1s-h3YVQZmA/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/w3ZG0EHYR4PYtVIA1s-h3YVQZmA/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/w3ZG0EHYR4PYtVIA1s-h3YVQZmA/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/QLagM/~4/FXvZe_bDKos" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://aaharu.blogspot.com/feeds/1451565913589526063/comments/default" title="コメントの投稿" /><link rel="replies" type="text/html" href="http://aaharu.blogspot.com/2010/11/blog-post.html#comment-form" title="0 件のコメント" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/209338774431478977/posts/default/1451565913589526063?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/209338774431478977/posts/default/1451565913589526063?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/QLagM/~3/FXvZe_bDKos/blog-post.html" title="ドリームキャスト起動画面のジェネレータ作ってみた" /><author><name>aaharu</name><uri>http://www.blogger.com/profile/14446643278958061868</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://aaharu.blogspot.com/2010/11/blog-post.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkIDSHw9eip7ImA9Wx9TEUU.&quot;"><id>tag:blogger.com,1999:blog-209338774431478977.post-4727584511607367090</id><published>2010-11-20T00:29:00.000+09:00</published><updated>2010-11-20T00:29:39.262+09:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-11-20T00:29:39.262+09:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="TopCoder" /><title>TopCoder練習 SRM425 DIV2</title><content type="html">250&lt;br /&gt;
&lt;a href="http://www.topcoder.com/stat?c=problem_statement&amp;pm=10118"&gt;問題文&lt;/a&gt;（要ログイン）&lt;br /&gt;
&lt;pre class="brush:java"&gt;import java.util.Arrays;

public class InverseFactoring {
 public int getTheNumber(int[] factors) {
  if(factors.length == 1) return factors[0]*factors[0];
  Arrays.sort(factors);
  return factors[0]*factors[factors.length-1];
 }

}&lt;/pre&gt;問題読めたもん勝ち。最初のif文は別に書かなくてもいい。&lt;br /&gt;
とても簡単。&lt;br /&gt;
&lt;br /&gt;
500&lt;br /&gt;
&lt;a href="http://www.topcoder.com/stat?c=problem_statement&amp;pm=10095"&gt;問題文&lt;/a&gt;&lt;br /&gt;
&lt;pre class="brush:java"&gt;public class CrazyBot {
 private boolean point[][] = new boolean[30][30];
 private double _east;
 private double _west;
 private double _north;
 private double _south;
 private double result = 0.0;
 
 public double getProbability(int n, int east, int west, int south, int north) {
  for(int i = 0; i &lt; 30; i++) {
   for(int j = 0; j &lt; 30; j++) {
    point[i][j] = false;
   }
  }
  _east = (double)east;
  _west = (double)west;
  _north = (double)north;
  _south = (double)south;
  dfs(n, 0, 0, 1.0);
  return result;
 }
 
 private void dfs(int n, int x, int y, double p) {
  if(point[y+15][x+15]) {
   return;
  }
  if(n == 0) {
   result += p;
   return;
  }
  point[y+15][x+15] = true;
  dfs(n-1, x+1, y, p*_east/100.0);
  dfs(n-1, x-1, y, p*_west/100.0);
  dfs(n-1, x, y+1, p*_north/100.0);
  dfs(n-1, x, y-1, p*_south/100.0);
  point[y+15][x+15] = false;
 }
}&lt;/pre&gt;
この問題は時間内に解けなくて、人の回答を参考にした。&lt;br /&gt;
問題文読んでDFS（深さ優先探索）使えばいいんだなーって思ったけどどう実装していいかわからなかった。明らかな実力不足。勉強になりました。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/209338774431478977-4727584511607367090?l=aaharu.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/nCs4lg1enFFsXwXzvMHgq5bLKZs/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/nCs4lg1enFFsXwXzvMHgq5bLKZs/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/nCs4lg1enFFsXwXzvMHgq5bLKZs/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/nCs4lg1enFFsXwXzvMHgq5bLKZs/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/QLagM/~4/NKYN3JX8SkM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://aaharu.blogspot.com/feeds/4727584511607367090/comments/default" title="コメントの投稿" /><link rel="replies" type="text/html" href="http://aaharu.blogspot.com/2010/11/topcoder-srm425-div2.html#comment-form" title="0 件のコメント" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/209338774431478977/posts/default/4727584511607367090?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/209338774431478977/posts/default/4727584511607367090?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/QLagM/~3/NKYN3JX8SkM/topcoder-srm425-div2.html" title="TopCoder練習 SRM425 DIV2" /><author><name>aaharu</name><uri>http://www.blogger.com/profile/14446643278958061868</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://aaharu.blogspot.com/2010/11/topcoder-srm425-div2.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkYCR388eip7ImA9Wx5aGUQ.&quot;"><id>tag:blogger.com,1999:blog-209338774431478977.post-6877416721035924784</id><published>2010-11-17T19:34:00.001+09:00</published><updated>2010-11-17T19:36:06.172+09:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-11-17T19:36:06.172+09:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="TopCoder" /><title>TopCoder練習 SRM 422 DIV2</title><content type="html">250&lt;br /&gt;
&lt;a href="http://www.topcoder.com/stat?c=problem_statement&amp;pm=10072"&gt;問題文&lt;/a&gt;（要ログイン）&lt;br /&gt;
&lt;pre class="brush:java"&gt;public class MultiNumber {
 public String check(int number) {
  if(number &lt; 10) {
   return "NO";
  }
  String num = Integer.toString(number);
  //String.valuOf(number);
  for(int i = 1; i &lt; num.length(); i++) {
   String a = num.substring(0, i);
   String b = num.substring(i);
   int n = 1, m = 1;
   for(int j = 0; j &lt; a.length(); j++) {
    n *= Integer.parseInt(a.substring(j, j+1));
   }
   for(int j = 0; j &lt; b.length(); j++) {
    m *= Integer.parseInt(b.substring(j, j+1));
   }
   if(n == m) {
    return "YES";
   }
  }
  return "NO";
 }
}&lt;/pre&gt;
Javaでint→StringとString→intの変換する方法がわからなくて手間取った。
今気づいたけど、このプログラムちょっと無駄なことしてるね。&lt;br /&gt;
&lt;br /&gt;
500&lt;br /&gt;
&lt;a href="http://www.topcoder.com/stat?c=problem_statement&amp;pm=10033"&gt;問題文&lt;/a&gt;
&lt;pre class="brush:java"&gt;public class PrimeSoccer {
 public double getProbability(int skillOfTeamA, int skillOfTeamB) {
  double a = 0.0;
  double b = 0.0;
  //2
  a += ((double)skillOfTeamA/100.0) * ((double)skillOfTeamA/100.0) * 153.0 * Math.pow((double)(100 - skillOfTeamA)/100.0, 16.0);
  //3
  a += Math.pow((double)skillOfTeamA/100.0, 3.0) * 816.0 * Math.pow((double)(100 - skillOfTeamA)/100.0, 15.0);
  //5
  a += Math.pow((double)skillOfTeamA/100.0, 5.0) * 8568.0 * Math.pow((double)(100 - skillOfTeamA)/100.0, 13.0);
  //7
  a += Math.pow((double)skillOfTeamA/100.0, 7.0) * 31824.0 * Math.pow((double)(100 - skillOfTeamA)/100.0, 11.0);
  //11
  a += Math.pow((double)skillOfTeamA/100.0, 11.0) * 31824.0 * Math.pow((double)(100 - skillOfTeamA)/100.0, 7.0);
  //13
  a += Math.pow((double)skillOfTeamA/100.0, 13.0) * 8568.0 * Math.pow((double)(100 - skillOfTeamA)/100.0, 5.0);
  //17
  a += Math.pow((double)skillOfTeamA/100.0, 17.0) * 18.0 * (double)(100 - skillOfTeamA)/100.0;
  
  //2
  b += ((double)skillOfTeamB/100.0) * ((double)skillOfTeamB/100.0) * 153.0 * Math.pow((double)(100 - skillOfTeamB)/100.0, 16.0);
  //3
  b += Math.pow((double)skillOfTeamB/100.0, 3.0) * 816.0 * Math.pow((double)(100 - skillOfTeamB)/100.0, 15.0);
  //5
  b += Math.pow((double)skillOfTeamB/100.0, 5.0) * 8568.0 * Math.pow((double)(100 - skillOfTeamB)/100.0, 13.0);
  //7
  b += Math.pow((double)skillOfTeamB/100.0, 7.0) * 31824.0 * Math.pow((double)(100 - skillOfTeamB)/100.0, 11.0);
  //11
  b += Math.pow((double)skillOfTeamB/100.0, 11.0) * 31824.0 * Math.pow((double)(100 - skillOfTeamB)/100.0, 7.0);
  //13
  b += Math.pow((double)skillOfTeamB/100.0, 13.0) * 8568.0 * Math.pow((double)(100 - skillOfTeamB)/100.0, 5.0);
  //17
  b += Math.pow((double)skillOfTeamB/100.0, 17.0) * 18.0 * (double)(100 - skillOfTeamB)/100.0;
  double c = a*b;
  return a+b-c;
 }
}&lt;/pre&gt;ただの計算。プログラムより電卓でやったほうがいいんじゃね？ってレベル。&lt;br /&gt;
確率の計算です。組み合わせはGoogle電卓で出した。&lt;br /&gt;
18までの素数は7つしかないので結構無理やり解いてます。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/209338774431478977-6877416721035924784?l=aaharu.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/QzrExXMlEakAkhv0QmXiDvqEZ6o/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/QzrExXMlEakAkhv0QmXiDvqEZ6o/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/QzrExXMlEakAkhv0QmXiDvqEZ6o/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/QzrExXMlEakAkhv0QmXiDvqEZ6o/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/QLagM/~4/C0zl1WvwEig" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://aaharu.blogspot.com/feeds/6877416721035924784/comments/default" title="コメントの投稿" /><link rel="replies" type="text/html" href="http://aaharu.blogspot.com/2010/11/topcoder-srm-422-div2.html#comment-form" title="0 件のコメント" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/209338774431478977/posts/default/6877416721035924784?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/209338774431478977/posts/default/6877416721035924784?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/QLagM/~3/C0zl1WvwEig/topcoder-srm-422-div2.html" title="TopCoder練習 SRM 422 DIV2" /><author><name>aaharu</name><uri>http://www.blogger.com/profile/14446643278958061868</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://aaharu.blogspot.com/2010/11/topcoder-srm-422-div2.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ak4BSHk_fip7ImA9Wx5aGUU.&quot;"><id>tag:blogger.com,1999:blog-209338774431478977.post-2812722758663152995</id><published>2010-11-11T19:12:00.001+09:00</published><updated>2010-11-17T19:15:59.746+09:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-11-17T19:15:59.746+09:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="TopCoder" /><title>TopCoderやってみた。</title><content type="html">知り合いに誘われてTopCoderなるものに手を出してみました。&lt;br /&gt;
なぜかJAVAで参戦。Python使わせてください。&lt;br /&gt;
&lt;br /&gt;
とりあえず、過去問で練習してます。&lt;br /&gt;
だめだめですけど、自分の解答を載せます。&lt;br /&gt;
&lt;br /&gt;
TopCoder SRM 430 DIV 2&lt;br /&gt;
Problem 500 BitwiseEquations&lt;br /&gt;
&lt;a href="http://www.topcoder.com/stat?c=problem_statement&amp;pm=9921"&gt;問題文&lt;/a&gt;（アカウントがないと見られません）&lt;br /&gt;
&lt;pre class="brush:java"&gt;public class BitwiseEquations {
 public long kthPlusOrSolution(int x, int k) {
  long a = 0, shift = 0;
  while(k &gt; 0) {
   if((x &amp; 1) == 0) {
    a |= ((long)(k &amp; 1) &lt;&lt; shift);
    k &gt;&gt;&gt;= 1;
   }
   x &gt;&gt;&gt;= 1;
   shift++;
  }
  return a;
 }
}&lt;/pre&gt;xを2進数で表示したときに0になる桁に、kの2進数の1桁目から入れていく感じ。&lt;br /&gt;
問題文からこのことを理解できれば解ける。結構時間かかった。&lt;br /&gt;
&lt;br /&gt;
TopCoder SRM 427 DIV 2&lt;br /&gt;
Problem 250 LoveCalculator&lt;br /&gt;
&lt;a href="http://www.topcoder.com/stat?c=problem_statement&amp;pm=10046"&gt;問題文&lt;/a&gt;&lt;br /&gt;
&lt;pre class="brush:java"&gt;import java.util.Arrays;

public class LoveCalculator {
 public String findBoy(String girl, String[] boys) {
  if(boys.length == 1) return boys[0];
  
  Arrays.sort(boys);
  
  int[] love = new int[boys.length];
  for(int i = 0; i &lt; boys.length; i++) {
   int L = 0, O = 0, V = 0, E = 0;
   for(int j = 0; j &lt; girl.length(); j++) {
    if(girl.charAt(j) == 'L') {
     L++;
    } else if(girl.charAt(j) == 'O') {
     O++;
    } else if(girl.charAt(j) == 'V') {
     V++;
    } else if(girl.charAt(j) == 'E') {
     E++;
    }
   }
   for(int j = 0; j &lt; boys[i].length(); j++) {
    if(boys[i].charAt(j) == 'L') {
     L++;
    } else if(boys[i].charAt(j) == 'O') {
     O++;
    } else if(boys[i].charAt(j) == 'V') {
     V++;
    } else if(boys[i].charAt(j) == 'E') {
     E++;
    }
   }
   love[i] = ((L+O)*(L+V)*(L+E)*(O+V)*(O+E)*(V+E))%100;
  }
  int max = love[0], maxI = 0;
  for(int i = 1; i &lt; love.length; i++) {
   if(love[i] &gt; max) {
    maxI = i;
    max = love[i];
   }
  }
  return boys[maxI];
 }
}&lt;/pre&gt;そのまんま。コード汚い。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/209338774431478977-2812722758663152995?l=aaharu.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/j_5GCzd2xnt1wLzTYhcwvU-TxjA/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/j_5GCzd2xnt1wLzTYhcwvU-TxjA/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/j_5GCzd2xnt1wLzTYhcwvU-TxjA/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/j_5GCzd2xnt1wLzTYhcwvU-TxjA/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/QLagM/~4/ak37sfR3vh4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://aaharu.blogspot.com/feeds/2812722758663152995/comments/default" title="コメントの投稿" /><link rel="replies" type="text/html" href="http://aaharu.blogspot.com/2010/11/topcoder.html#comment-form" title="0 件のコメント" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/209338774431478977/posts/default/2812722758663152995?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/209338774431478977/posts/default/2812722758663152995?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/QLagM/~3/ak37sfR3vh4/topcoder.html" title="TopCoderやってみた。" /><author><name>aaharu</name><uri>http://www.blogger.com/profile/14446643278958061868</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://aaharu.blogspot.com/2010/11/topcoder.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CE8HQ3g9eip7ImA9Wx5XFU4.&quot;"><id>tag:blogger.com,1999:blog-209338774431478977.post-1451852598039762065</id><published>2010-09-15T15:40:00.000+09:00</published><updated>2010-09-15T15:40:32.662+09:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-09-15T15:40:32.662+09:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="メモ" /><title>メモ。</title><content type="html">&lt;a href="http://dev.convexstyle.net/2007/10/unable_to_bind_to_property.html"&gt;dev.convexstyle.net | unable to bind to property&lt;/a&gt;&lt;br /&gt;
FlexでBindableなObjectで警告を出さない方法。&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://pwiki.awm.jp/~yoya/?Flash/SWF"&gt;Flash SWF バイナリ - Yoya Wiki&lt;/a&gt;&lt;br /&gt;
SWFのバイナリいじりたいときに。&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://www.nekopps.com/article/gif_format/"&gt;Nekopps / Article / GIFファイル形式 - Nekopps&lt;/a&gt;&lt;br /&gt;
GIFのバイナリいじりたいときに。&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://d.hatena.ne.jp/k2ca3/20090709/1247070673"&gt;GitHubをTortoiseGitから使ってみる - 2ca3(ツカサ)の再生不良性貧と潰瘍性大腸炎血日記　～札幌から更新中～&lt;/a&gt;&lt;br /&gt;
WindowsでGithub使うにはこれかなー。上のページは画像が表示されてないけど十分わかるし参考になる。&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://people.mozilla.com/~vladimir/demos/photos.svg"&gt;people.mozilla.com/~vladimir/demos/photos.svg&lt;/a&gt;&lt;br /&gt;
SVGのサンプルの1つ。&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://kachibito.net/web-design/css-collection.html"&gt;cssの情報・まとめ - かちびと.net&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://nariyu.playwell.jp/2009/08/flex-resizable-panel/"&gt;Flex でドラッグでリサイズできる Panel を作る | nariyu memo&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/209338774431478977-1451852598039762065?l=aaharu.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/4ZPYv6brBu74PFE9VhPWz_QqwpU/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/4ZPYv6brBu74PFE9VhPWz_QqwpU/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/4ZPYv6brBu74PFE9VhPWz_QqwpU/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/4ZPYv6brBu74PFE9VhPWz_QqwpU/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/QLagM/~4/koPC_H1AwDU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://aaharu.blogspot.com/feeds/1451852598039762065/comments/default" title="コメントの投稿" /><link rel="replies" type="text/html" href="http://aaharu.blogspot.com/2010/09/blog-post.html#comment-form" title="0 件のコメント" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/209338774431478977/posts/default/1451852598039762065?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/209338774431478977/posts/default/1451852598039762065?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/QLagM/~3/koPC_H1AwDU/blog-post.html" title="メモ。" /><author><name>aaharu</name><uri>http://www.blogger.com/profile/14446643278958061868</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://aaharu.blogspot.com/2010/09/blog-post.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0AARHkycCp7ImA9Wx5REUk.&quot;"><id>tag:blogger.com,1999:blog-209338774431478977.post-4986104582038102246</id><published>2010-08-19T00:35:00.000+09:00</published><updated>2010-08-19T00:35:45.798+09:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-08-19T00:35:45.798+09:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="イベント" /><category scheme="http://www.blogger.com/atom/ns#" term="雑記" /><title>ワタルバンド第３回定期演奏会に行ってきた</title><content type="html">&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_E3NZYxHxUxI/TGv9ZqTDJxI/AAAAAAAAARA/3iUnaj-YipM/s1600/SN3G0135.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://4.bp.blogspot.com/_E3NZYxHxUxI/TGv9ZqTDJxI/AAAAAAAAARA/3iUnaj-YipM/s320/SN3G0135.JPG" width="240" /&gt;&lt;/a&gt;&lt;/div&gt;先日、会津風雅堂で行われた「吹奏楽団ワタルバンド第３回定期演奏会」に行ってきました。&lt;br /&gt;
&lt;br /&gt;
ワタルバンドというのは地元（会津）出身の有志を中心に結成されたバンドで、なんか自由に活動している団体っぽいです。&lt;br /&gt;
地域貢献を目標としているらしく、演奏会は無料で開いています。&lt;br /&gt;
&lt;br /&gt;
えー、私は生まれも育ちも会津なのですが、第３回にして存在を初めて知りました。&lt;br /&gt;
この第３回定期演奏会の情報も前日にTwitterで知りました。&lt;br /&gt;
ゲストが来て、しかも無料だというのにあまり周知されていなかった気がします。自分が疎いだけかもしれませんが・・・&lt;br /&gt;
&lt;br /&gt;
でも知ってる人は知っていたらしく、演奏会は1階席の8割強が埋まっていたと思う。&lt;br /&gt;
お盆であるからか、子供も多かった。&lt;br /&gt;
そして最前列に座っていたのは、ゲストのたかはし智秋さん目当てで来たという感じの人が数人。&lt;br /&gt;
ほとんど地元の方だと思いますが最前線の人たちはどこからきたんでしょうかね。&lt;br /&gt;
&lt;br /&gt;
1曲1曲はそれほど長くなく、馴染みのある曲を中心に演奏していたようでした。&lt;br /&gt;
編成は詳しくないのでよくわかりませんが、変わった編成だったと思います。&lt;br /&gt;
金管が多かったかなー、、、弦楽器はほとんどありませんでした。&lt;br /&gt;
出演者に高校の同級生と、高校のときの音楽教師がいたような・・・&lt;br /&gt;
&lt;br /&gt;
演奏もよかったですが、ゲストの方のお話があったり、ソニーの人が客席にいたり、とても面白い演奏会でした。&lt;br /&gt;
ゲストの椎名さんはエースコンバットX2の宣伝くらいしかしてかなったけどあれでよかったのかな？ｗ&lt;br /&gt;
&lt;br /&gt;
演奏も聴けたし、お話も聞けたし、隣に…の歌も聴けたし、本当に無料でいいのかなと思ってしまう演奏会でした。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/209338774431478977-4986104582038102246?l=aaharu.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/lDe4Kq8t0LHb8wvx18bEsKhYZZw/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/lDe4Kq8t0LHb8wvx18bEsKhYZZw/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/lDe4Kq8t0LHb8wvx18bEsKhYZZw/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/lDe4Kq8t0LHb8wvx18bEsKhYZZw/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/QLagM/~4/D2WG-dSsCgU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://aaharu.blogspot.com/feeds/4986104582038102246/comments/default" title="コメントの投稿" /><link rel="replies" type="text/html" href="http://aaharu.blogspot.com/2010/08/blog-post.html#comment-form" title="0 件のコメント" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/209338774431478977/posts/default/4986104582038102246?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/209338774431478977/posts/default/4986104582038102246?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/QLagM/~3/D2WG-dSsCgU/blog-post.html" title="ワタルバンド第３回定期演奏会に行ってきた" /><author><name>aaharu</name><uri>http://www.blogger.com/profile/14446643278958061868</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_E3NZYxHxUxI/TGv9ZqTDJxI/AAAAAAAAARA/3iUnaj-YipM/s72-c/SN3G0135.JPG" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://aaharu.blogspot.com/2010/08/blog-post.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkYER308fyp7ImA9Wx5TGEs.&quot;"><id>tag:blogger.com,1999:blog-209338774431478977.post-3052422988122841499</id><published>2010-08-04T03:28:00.000+09:00</published><updated>2010-08-04T03:28:26.377+09:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-08-04T03:28:26.377+09:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Flex" /><title>Flex4本</title><content type="html">Flex4になってそれなりに時間がたったのでいくつか書籍がでてきました。&lt;br /&gt;
&lt;br /&gt;
まだじっくりとは読んでいないけど簡単な感想など。&lt;br /&gt;
&lt;br /&gt;
&lt;iframe src="http://rcm-jp.amazon.co.jp/e/cm?lt1=_blank&amp;bc1=000000&amp;IS2=1&amp;bg1=FFFFFF&amp;fc1=000000&amp;lc1=0000FF&amp;t=aaharu-22&amp;o=9&amp;p=8&amp;l=as1&amp;m=amazon&amp;f=ifr&amp;md=1X69VDGQCMF7Z30FM082&amp;asins=4798026484" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"&gt;&lt;/iframe&gt;&lt;br /&gt;
FlashBuilder4とかFlex4の新機能について詳しく書いてある感じ。Flex4プログラミング入門ってタイトルだけど、内容は初心者向けというよりは、4より前のFlexを知っている人向けだと感じた。&lt;br /&gt;
よく知らない人が読んでも、「これで何ができるの？」と疑問を持ってしまうかも。&lt;br /&gt;
また、FB4とサンプルソースが入ったCDがついている。けどCDがついている本って好きじゃないんだ、開きにくくなって読みづらいし。&lt;br /&gt;
CDつけるよりは、ウェブからダウンロードできるようなのがいい。&lt;br /&gt;
不満点挙げたけど、別にこの本そんなひどいわけじゃないよ。&lt;br /&gt;
&lt;br /&gt;
&lt;iframe src="http://rcm-jp.amazon.co.jp/e/cm?lt1=_blank&amp;bc1=000000&amp;IS2=1&amp;bg1=FFFFFF&amp;fc1=000000&amp;lc1=0000FF&amp;t=aaharu-22&amp;o=9&amp;p=8&amp;l=as1&amp;m=amazon&amp;f=ifr&amp;md=1X69VDGQCMF7Z30FM082&amp;asins=4839934061" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"&gt;&lt;/iframe&gt;&lt;br /&gt;
こちらの本はまだちらっとしか読んでないけど、結構いい感じだった。欲しい。&lt;br /&gt;
わかりやすいと思いますし、初心者にも勧められそうな感じ。&lt;br /&gt;
&lt;a href="http://www.adobe.com/devnet/flex/tourdeflex/"&gt;Tour de Flex&lt;/a&gt;ってこの本で知った。便利っすね。&lt;br /&gt;
&lt;br /&gt;
Flex4のStateとかよくわかっていないので、これらの本で勉強して使えるようになりたいなー。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/209338774431478977-3052422988122841499?l=aaharu.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/nibQJu1lhCVOIy4bAZUwdJgDBTk/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/nibQJu1lhCVOIy4bAZUwdJgDBTk/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/nibQJu1lhCVOIy4bAZUwdJgDBTk/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/nibQJu1lhCVOIy4bAZUwdJgDBTk/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/QLagM/~4/wdprVAw5MTY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://aaharu.blogspot.com/feeds/3052422988122841499/comments/default" title="コメントの投稿" /><link rel="replies" type="text/html" href="http://aaharu.blogspot.com/2010/08/flex4.html#comment-form" title="0 件のコメント" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/209338774431478977/posts/default/3052422988122841499?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/209338774431478977/posts/default/3052422988122841499?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/QLagM/~3/wdprVAw5MTY/flex4.html" title="Flex4本" /><author><name>aaharu</name><uri>http://www.blogger.com/profile/14446643278958061868</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://aaharu.blogspot.com/2010/08/flex4.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEMMSXs5fyp7ImA9Wx5TEUg.&quot;"><id>tag:blogger.com,1999:blog-209338774431478977.post-2792589730875923991</id><published>2010-07-26T22:54:00.000+09:00</published><updated>2010-07-26T22:54:48.527+09:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-07-26T22:54:48.527+09:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="ActionScript" /><title>Stringのlengthで全角を2文字として扱ってみる[AS3]</title><content type="html">※注 - よくわかってないで記事書いてるので、いろいろ勘違いしているかも。突っ込み歓迎。&lt;br /&gt;
&lt;br /&gt;
どうやらActionScript3のStringのlengthってマルチバイト文字も1として数えてるみたい。&lt;br /&gt;
今まで気にしてなかったけど、例えばPHPのstrlen関数はマルチバイト文字は2としているので、差異がある。&lt;br /&gt;
&lt;br /&gt;
そこで、マルチバイト文字を2として数える方法ないかなーと思ったけど、見つからない。&lt;br /&gt;
というわけで、自分で作ってみた。&lt;br /&gt;
&lt;pre class="brush:as3"&gt;var str:String = "1@a $%&amp;'=a　ぁａ←あア亜１＠";
var reg:RegExp = new RegExp("[^ -~｡-ﾟ]", "g");
trace(str);
trace(str.length);
trace(str.match(reg));
trace(str.match(reg).length);
trace(str.length + str.match(reg).length);&lt;/pre&gt;実行結果&lt;br /&gt;
&lt;pre&gt;1@a $%&amp;'=a　ぁａ←あア亜１＠
19
　,ぁ,ａ,←,あ,ア,亜,１,＠
9
28&lt;/pre&gt;一応合ってる。&lt;br /&gt;
&lt;br /&gt;
正規表現を使ってます。参考：&lt;a href="http://www12.plala.or.jp/mz80k2/electronics/ascii/ascii.html"&gt;ASCIIコード表&lt;/a&gt;&lt;br /&gt;
半角の文字以外にマッチする正規表現を作って、マッチした文字数を足してます。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/209338774431478977-2792589730875923991?l=aaharu.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/ReAV5vHGkwwxxdAJJQm78y5egG0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ReAV5vHGkwwxxdAJJQm78y5egG0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/ReAV5vHGkwwxxdAJJQm78y5egG0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ReAV5vHGkwwxxdAJJQm78y5egG0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/QLagM/~4/2q2cENcPWTs" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://aaharu.blogspot.com/feeds/2792589730875923991/comments/default" title="コメントの投稿" /><link rel="replies" type="text/html" href="http://aaharu.blogspot.com/2010/07/stringlength2as3.html#comment-form" title="0 件のコメント" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/209338774431478977/posts/default/2792589730875923991?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/209338774431478977/posts/default/2792589730875923991?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/QLagM/~3/2q2cENcPWTs/stringlength2as3.html" title="Stringのlengthで全角を2文字として扱ってみる[AS3]" /><author><name>aaharu</name><uri>http://www.blogger.com/profile/14446643278958061868</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://aaharu.blogspot.com/2010/07/stringlength2as3.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkMBQ3c6eyp7ImA9Wx9RGUU.&quot;"><id>tag:blogger.com,1999:blog-209338774431478977.post-576438508843591952</id><published>2010-07-10T13:32:00.001+09:00</published><updated>2010-12-22T12:27:32.913+09:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-12-22T12:27:32.913+09:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="ActionScript" /><title>AS3でイベントリスナーに引数を渡す</title><content type="html">ActionScript3.0でイベントリスナーにイベント以外の引数を渡す方法。&lt;br /&gt;
自分は2つの方法を使ってます。てかそれ以外のやり方は知らない。&lt;br /&gt;
グローバル変数を増やしたくないときとかに使ってます。&lt;br /&gt;
&lt;br /&gt;
クリック数をカウントするプログラム。&lt;br /&gt;
2つ目と3つ目は基本的にやってることは変わらないと思う。&lt;br /&gt;
&lt;pre class="brush:as3"&gt;// グローバル変数を使う
public class event extends Sprite
{
    private var a:int = 0;
    public function event()//constructor
    {
        stage.addEventListener(MouseEvent.CLICK, onClick);
    }

    private function onClick(e:MouseEvent):void
    {
         trace(++a);
    }
}&lt;/pre&gt;&lt;pre class="brush:as3"&gt;// Functionを返す関数を作る
public class event extends Sprite
{
    public function event()//constructor
    {
        var a:int = 0;
        stage.addEventListener(MouseEvent.CLICK, onClick(a));
    }

    private function onClick(a:int):Function
    {
        return function(e:MouseEvent):void
        {
            trace(++a);
        };
    }
}&lt;/pre&gt;&lt;pre class="brush:as3"&gt;// 無名関数使う
public class event extends Sprite
{
    public function event()//constructor
    {
        var a:int = 0;
        stage.addEventListener(MouseEvent.CLICK, function(e:MouseEvent):void
        {
            trace(++a);
        });
    }
}&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/209338774431478977-576438508843591952?l=aaharu.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/s7BFwbkw5APWFR9Z0W8irAKm_Wg/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/s7BFwbkw5APWFR9Z0W8irAKm_Wg/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/s7BFwbkw5APWFR9Z0W8irAKm_Wg/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/s7BFwbkw5APWFR9Z0W8irAKm_Wg/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/QLagM/~4/zgLtyLbF4IE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://aaharu.blogspot.com/feeds/576438508843591952/comments/default" title="コメントの投稿" /><link rel="replies" type="text/html" href="http://aaharu.blogspot.com/2010/07/as3.html#comment-form" title="0 件のコメント" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/209338774431478977/posts/default/576438508843591952?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/209338774431478977/posts/default/576438508843591952?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/QLagM/~3/zgLtyLbF4IE/as3.html" title="AS3でイベントリスナーに引数を渡す" /><author><name>aaharu</name><uri>http://www.blogger.com/profile/14446643278958061868</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://aaharu.blogspot.com/2010/07/as3.html</feedburner:origLink></entry></feed>

