aptoro.jp

ずぼら人間のブログ.技術系ブログにしたかった何か

二分探索木

twitterで,二分探索木をどう書くか,という話があったので書いてみた.

#include <iostream>
#include <cstdlib>
#include <ctime>
#include <fstream>

using namespace std;

ofstream ofs("result.csv", ios::app);

int bST(int ans, int min, int max)
{
    int result = (max + min) / 2;
    ofs << "Result," << result << "\n";

    if (result == ans)
    {
        return result;
    }
    else if(result > ans)
    {
        return bST(ans, min, result);
    }
    else
    {
        return bST(ans, result, max);
    }
}

int main()
{
    std::cout << "Start Binary Search Tree.\n";
    
    srand(time(NULL));
    int max = rand();
    int ans = rand() % max;

    ofs << "Answer," << ans << "\n";
    int result = bST(ans, 0, max);

    ofs << "\n";
}

csvに出力して,値の遷移をグラフにしてみた.

f:id:aptorojp:20191214183049p:plain
bst

なんか大学1年生辺りが読む教科書に載ってそうなコードになったけど動いたからヨシ!

twitter

「ループを使わずに1から100を順に出力するコードは書けますか」

という問いを見かけたので考えたのだが
再帰呼び出しを使うコードしか思いつかなかった

#include<iostream>

void showOneToHundred(int x)
{
  if(x > 100) return;
  else std::cout << x++ << std::endl;
  showOneToHundred(x);
}

int main()
{
  showOneToHundred(1);
  return 0;
}

追記
これ書いてから元記事見たら
「ループ,goto,再帰を使わずに」
とあったので失格です.

元記事
https://www.quora.com/How-can-I-print-1-to-100-in-C%2B%2B-without-a-loop-goto-or-recursion?ch=10&share=9b09c507&srid=Jqvc

お腹の調子がすぐれない

ここ3か月くらい公私共に全くプログラミングをしていない.

欲求は日に日に溜まるものの,取り組む気力が湧かず悶々としている.

モチベーションアップ法的なものがインターネット上には蔓延しているが

あの手のものは良いものでも大抵は掛け算なので,0をいくら掛け算しても0なのである.

emacsが泣いている…

 

グルーヴコースターを始めてから1年半くらいが経った.去年の5月から始めてほぼ毎週ゲーセンに通い多分150kくらい使ったと思う.

レベル14まで開放したところで半年くらい経っているので最近マンネリ感が出ている.

最初14解放した時はGarakura Doll Playがまだ14だった頃で,当時はあの曲で15解放を目論んでいたが,やはりというか,13に降格してしまった.数回のプレイで860k点くらい取れて「14チョロいやんけ!」などと思っていたのでぐぬぬ…となってしまった.

今はTaiko Dram MonsterでSを取ろうとしている.先週ノーミスならS取れる状況で1ミスしてしまい泣いた.音ゲーとはこういうものなのだ…

 

もうすぐ2019年4Qなので,Atomic Heartがリリースである.

支払いをしたのが丁度去年の今頃で,当時の私は何故かFounder's Editionを買っていた.セーフゾーンに名前が載るというのが面白かったからだと思われる.

さっき「本当に支払いしたよな…」と思いgmail内を探したらちゃんとメールがあったので安心した.

ついでにAtomic Heartの公式Discordチャネルへの招待も来ていて参加した.ここで写真と名前を登録したので,忘れていたら危なかった.しかし,メールが来てから3ヶ月くらい経ってるんだけど,ちゃんとゲーム内に表示されてくれるのだろうか.なんにせよ楽しみである.

東京生まれ東京育ち

さっきふと思ったのだが

東京生まれ東京育ち,高校大学も東京の学校を卒業した純正天然東京人って

日本国内で東京以外に住所を持つこととかあるのだろうか.

 

半死半生の大通り商店街とか

人が住まなくなって崩れかけてる廃屋とか

庭でごみを焼いたときの臭いとか

虫と蛙の鳴き声で満たされた蒸し暑い夜とか

新幹線が止まる駅があるだけで少し誇らしげになったりとか

そういうことを実感や実体験として知らずに生きていく人たちも

やはりいるんだろうか.

 

是非を考えているのではなく,そういう人生や世界観を全く想像出来なくて

それが少し楽しいと思った.

虚無の日々を書こうと思ったがゲームの話になった

去年くらいから,帰宅して夕食を済ませたら延々とゲームをする生活をしていた.丁度Nintendo Switchを手に入れた辺りからである.

「プライベートは1秒も無駄にしたくない」みたいな強迫観念からゲームをする手を止められなかった(ゲームをする時間は無駄では?と思ったあなたにはきっと理解出来ない心境だししなくていいと思う).

 

それがここ1週間くらいはそれが無い.延々とtwitterやその他Webサイトを巡回して過ごしている.私はこれを虚無の時間と呼んでいる.

こうやって自身の行動を貶める癖は追々止めていくとして,あれほどゲームに明け暮れていた1年が嘘のように虚無を満喫している.悪くはないがなんだかモヤモヤする.

所謂ネットサーフィンだが,目的もなく惰性でリンクをクリックするそれは実質何もしていないことと同義ではないだろうか.瞬間的で粗雑な快楽をつまみ食いするだけの日々である.

 

そんな日々からおさらばしたいという思いはほとんどなく,多分しばらくはこの澱みのような時間を自宅で過ごすのだろう.だから久々に文章をしたためたくなって今これを書いている.

 

あまり効率とか無駄とか考えて生きるのは得意ではない.むしろ積極的に怠惰に時間を浪費していきたいと思っている方だ.強迫観念からゲームをしている,というのはそれだけ自分にとって病的な1年だったということだ.ただしゲームは純粋に面白いし,この虚無のような時間よりははるかに充実した時を過ごせるのでそこは主張したい.ゲームは面白い.

 

ゲームと言えばずっとスマブラをやっている.2か月ほど足が遠のいていたが最近復活した.戦闘力はめきめき落ちているのでモチベーションを保つのが難しいのが難点である.

足が遠のいていた原因はRPGである.最近2作ほどやった.

丁度1か月前くらいまでやっていたのが「グランディア」という最初SSで出たゲームのアーカイブスである.

www.jp.playstation.com

これのPS版が実家にあって,小学生くらいの時に途中までやったのだがうまくストーリーが追えず飽きてしまっていた.4月の頭くらいにPSストアで見つけて衝動買いした.

The 王道RPGみたいなストーリーだった.一部ボスを除いて特に苦戦することもなくサクサクと進めて1か月くらいでエンディングを見た.マルチエンドではないし,やりこみ要素も無さそうなのでしばらくはもうやらない.

剣と魔法と勇気と友情と愛情といったベッタベタなストーリーだったが大変楽しめた.フィーナかわいいよフィーナ.

 

そしてGWにふらりと立ち寄ったBookoffで買ったのがFF X/XⅡのセットのやつ.

www.jp.square-enix.com

やっぱFFっておもしれえや.これまでドラクエ,FFはつまみ食い程度でしかやってこなくてしっかりプレイするのはこれが初めてだったんだけどさすが天下のFF様や.

濃厚なストーリー,熱くなる戦闘,プレイヤーの心を枯れ枝の如く折にかかるやり込み要素.こういうのでいいんだよこういうので.

今はシンの体内でシーモアを倒した後くらい.あの後の道中で全体石化で2回全滅したので若干萎えている.石化手榴弾を集める日々が若干怠い.

 

そうして私はスマブラに舞い戻ってきた.でもXⅡを早くやりたいからなるべく早くクリアしたい.おあずけにしてる永遠のナギ節とかのムービーも見たい.

 

虚無な感じのエントリにするつもりが普通のゲームの話になってしまった.やはりゲームはいいな.

雑記 0319

疲労が溜まっている.

 

最近仕事が忙しい.忙しいが,そこまで心はやばくない.

一昨年一年目で一人プロジェクトを任されてた時は心が壊れそうだったが,今は大規模プロジェクトでちゃんとメンター的な人もついているので結構平穏だ.

いや,当時もついてはいたけど,その人たちは別プロジェクトだったし,一人は完全に私とは仕事の仕方が合わないタイプだった.あと,あの人は多分そういう役割に向いてない.

結果としてちゃんと頼れる人がいないまま半年くらいを闇雲に過ごしていたら完全にダメになってしまった.当時は(今もあまりよろしくは無いが)本当に無用な劣等感と延々と戦う不毛な日々だった.無駄ではなかったと思いたいが,今思うと不毛であった.

 

4月から3年目となり,いよいよな感が出てきているがあまり自信はない.

プロジェクトを回すということが良く分からないままここまで来てしまった.同期には先頭に立ってガツガツやってる人もいるので,大変見習いたい.あまり羨むような気持ちが湧いてこないのは,精神的な落ち着いているからなのか,半ば諦め気味だからなのか.

 

最近の業務ではlinux kernelやらbootloaderやらとOSSにお世話になることが多いので,私もその手のコミュニティに参加したいと思っているのだが,入口が分からない.いきなりgihubやらにプルリクエスト送りつける勇気はない.とりあえずメーリスを読むようにしようかしら.

飲み足りないのでビールを飲んでいる

 

昨日(というか数時間前まで)大学の後輩とお酒を飲んでいた.

その時「先輩のブログは米津玄師のブログと似てる」と言われたので

試しに読んでみたけど良く分からない.

同じ「だ,である」調というだけじゃないだろうか.というかこのブログは「です,ます」調も使ってるので一貫性がない.口調とか一人称が一貫性がない人間なのだ私は.

 

ただ,ちょっとだけ共感出来るところもあった.

reissuerecords.net

音楽に大事なのは編集だと、ここ最近強く思う。プリミティブであれ、衝動的であれ、という「ありのまま主義」というか、そういうのに僕はずっと懐疑的な立場でいて、あまり面白いものでもない気がずっとしていて、自分自身なぜそう思うのだろう?とよく考える。

こんな文章があった.私も趣味で詩を書いてるのだが(趣味で書いてるアマチュアが一端の詩人気取りかと思われるかもしれないが,まあいいではないか.趣味であれアマチュアであれ詩を書いてるだけできっと詩人なのだ),ここでいう「ありのまま」という言葉を私は「言いたいことをただ言っただけ」のものと思って読んでいた.

こういう自分の言いたいこと(特に感情に従って出てきた言葉)というのは生物ではないか,食生活で例えれば生肉なのではないか,というのが私の立場である.あまりにも生々しすぎるのだ.

生肉を食べるだろうか.馬と牛は生食も出来るけど,基本的には焼いた方が美味いし安全だ.特に豚と鳥は焼かないと食べられない.何でもそうだけど,調理した方が安心して美味しく頂ける.

詩であれ音楽であれ,きっと上手に調理してあげないといけないのだと思う.それが編集という作業なのだろう.自分の気持ちとか感情は大事だろう.そうだろうけど,でもそれだけではクリティカル過ぎるし,食したが最後,お腹を下してしまうだろう.

根底というか芯の部分はそういうのは大事だろうけど,誰かに読ませる聴かせる段階になった時に,上手に編集して,詩的に音楽的に形にしてあげないと,それは生々しすぎて鑑賞に堪えないのではないだろうか.

 

そんなことを自分も考えてるな,と上記の記事を読んで思い出したので書き留めた次第です.

 

ところで,「米津」は変換で一発で出るのに「玄師」は出てこないんだな.あれだけ有名になったんだから,IMEのデータベースにも登録されないだろうか.それともIMEクラウドとかには対応してないのかしら.