「もし先輩女子エンジニアが『アルゴリズム』を図解で教えてくれるとしたら」を解いてみた

paizaの
もし先輩女子エンジニアが『アルゴリズム』を図解で教えてくれるとしたら
という解説が公開されました

アルゴリズムのプログラムをあまりやったことがなかったの考えてみました
解説記事の全文探索をphpで書くとこんな感じ


<?php
function calc($cost, $staff, $idx) {
    global $n, $m, $result, $company;
    if ($n <= $idx) {
        return;
    }   
    if ($m <= $staff + $company[$idx]['num']) {
        $result[] = $cost + $company[$idx]['cost'];
    } else {
        calc($company[$idx]['cost'], $company[$idx]['num'], $idx + 1); 
    }
    calc($cost, $staff, $idx + 1);
}

$m = trim(fgets(STDIN)); // 人員
$n = trim(fgets(STDIN)); // 会社数

$company = array();
for ($i=0; $i < $n; $i++) {
    $t = trim(fgets(STDIN));
    $t = str_replace(
        array("\r\n", "\r", "\n"), '', $t
    );      
    $e = explode(" ", $t);
    $company[$i]['num'] = $e[0];
    $company[$i]['cost'] = $e[1];
}

$result = array();
calc(0, 0, 0);
arsort($result);
echo (array_shift($result));

これだと、会社数が増えたときに組み合わせが多すぎて、テストが通らないみたいです
ビットを使えば再帰関数が不要になります(記事参照)が、同じく全文探索です

計算結果を再利用する動的計画法を使えば、組み合わせが会社数×人数の組み合わせとなるので処理数が減らせテストがすべてクリアできたようです
(解答例 http://paiza.jp/poh/code_index はpaizaに会員登録するとみれます)

UbuntuのJavaを入れ直してみた

Ubuntu12.04のJavaのバージョンが古かったので入れ直します

いったんJavaを消します
# sudo apt-get purge openjdk-\*
apt-get purge で設定ファイルも消えます

JDKをダウンロードします
http://www.oracle.com/technetwork/java/javase/downloads/index.html

今回はAndroid Studioが対応している7を選びました(8はまだ未対応)

# cd /usr/local
# sudo mkdir java
# sudo tar xzvf ~/Downloads/jdk-7u67-linux-i586.tar.gz

# sudo update-alternatives –install “/usr/bin/java” “java” “/usr/local/java/jdk1.7.0_67/jre/bin/java” 1
# sudo update-alternatives –install “/usr/bin/javac” “javac” “/usr/local/java/jdk1.7.0_67/bin/javac” 1
# sudo update-alternatives –install “/usr/bin/javaws” “javaws” “/usr/local/java/jdk1.7.0_67/jre/bin/javaws” 1
# sudo update-alternatives –set java /usr/local/java/jdk1.7.0_67/jre/bin/java
# sudo update-alternatives –set javac /usr/local/java/jdk1.7.0_67/bin/javac
# sudo update-alternatives –set javaws /usr/local/java/jdk1.7.0_67/jre/bin/javaws

# javac -version
javac 1.7.0_67

これでバージョン7みたいです

# javac -version
バイナリファイルを実行できません

ってなったら、OSのビット数があってるか確認を
32bitOSなのに64bit版をダウンロードしててはまりました….

AndroidでのFacebookの動画の自動再生を止める

Facebookの動画がいつからか自動で再生されるようになったので
止める方法を調べました

アプリのバージョンは16.0.0.20.15で確認しました

Facebookアプリを立ち上げ、上から2段目、一番右のメニューをタップ
下のほうのアプリの設定をタップ
android-fb1

動画自動再生をタップ
android-fb2

オフを選択
android-fb3

これで自動再生しなくなりました

京都市でセミナーのできる場所を調べてみた

自分用にまとめてみました
電源、Wifiとか考慮してないです(とりあえず値段を)
あんまり大きな会場はいれてないです
※2014/09/10時点、詳細は各サイトを確認ください(間違ってたらすいません)

coto http://cotoworking.jimdo.com/
利用時間:平日18:00-22:00/土日祝10:00-18:00
利用人数目安:机あり25名程度、机なし45名
スペースレンタル 一般 3,000円/1時間
スペースレンタル マンスリー会員様 2,000円/1時間
スペースレンタル 学生 2,000円/1時間

oinai karasuma http://oinai-karasuma.jp/
【平日】19:00-22:00 / 【土・祝】10:00-20:00 / 【日】10:00-18:00
貸切料金 おいない会員¥2,500 / 時間 たちより会員¥5,000 / 時間

小脇 http://cowaki.com/
◆イベント利用プラン
[平日] 19:00~22:00 15,750円(税込)
[土・日・祝] 10:00~22:00 44,100円(税込)
◆定員
40名

チルコロ京都 http://circolokyoto.jimdo.com/
月火木 18:10〜23:00 10,000円 など各曜日で異なるプラン

京都いのべーしょんオフィス http://www.ki-office.co.jp/
会議室利用 1000円~/時間
セミナールーム利用 5000円~/半日

ひと・まち交流館 http://www.hitomachi-kyoto.jp/shisetsu.html
無料からあるようです

ベーコン・ラボ研究所 http://minakata-science.com/
全日、午前9時30分~午後22時まで
《時間貸し利用》 ⇒3000円/時間(2時間以上の利用でお願いします)
(収容人数) 机椅子24人まで、 椅子のみ利用30名まで
(設備) 全備品の貸し出し(無料)、空調・電気無料

京都市生涯学習総合センター山科 アスニー山科 http://web.kyoto-inet.or.jp/org/asny1/yamashina/yamashinatop.html
2,880円~

京都市生涯学習総合センター京都 京都アスニー http://web.kyoto-inet.or.jp/org/asny1/top.html
4,110円~

京都市視聴覚センター http://web.kyoto-inet.or.jp/org/asny1/shicyokaku/index.htm
視聴覚室 4,110円~