C91の反省

C91の反省と忘備録
配布物

  • 前日5日間くらいで仕上げたので完成度がかなり低かった
  • 製本が上手く出来なかった(製本テープを使う,業者に依頼するなど必要)
  • ゲームのクオリティが低い
  • 自宅で印刷をする場合,かなりの時間と手間がかかる

設営

  • 相方が寝過ごした場合でも大丈夫なように設営セット(テーブルクロス,ねんどろいど)とお釣りは用意しておく
  • かなり腹がへるのでおにぎりを用意しておく
  • 会場内は電波が悪いのでSNSとメールアドレスの両方を交換しておく
  • 新宿-東京-新木場-国際展示場経由で行くと新木場-国際展示場だけ混んでいるが後は空いているので良い
  • 上のルートで行くとサークル入場に間に合うためには5:30には家を出る必要がある

Python

Pythonでimport thisとやると下のような文が出ることが分かった.
今日から「Effective Python」を読み始める.

Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one --obvious way to do it.
Although that way may not be obvious at first unless you're Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it's a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea -- let's do more of those!

遺伝的アルゴリズムで画像再現

遺伝的アルゴリズムを用いて画像を再現するというプロジェクトを行った.

まだまだ検討箇所があるので現在の結果を貼っておく.

目標の画像

f:id:umashika5555:20170106135917j:plain

0世代

f:id:umashika5555:20170106140030p:plain

1000世代

f:id:umashika5555:20170106140052p:plain

 

 ツイートは0~800世代くらい

https://twitter.com/vockyX/status/816646900392656897

 

今後の活動

・1000世代後に効果を発揮できるように評価関数を改良する

  (1000世代くらいになると概形はほぼ完成しているので色を滑らかにするという目的に変える)

・低画質→高画質への変換器を作る

 

POJ1004 Financial Management

gist.github.com

Global変数は0で初期化される.

 

scanf("")!=EOFと表現したい場合EOFマクロは<stdio.h>に入っているため<stdio.h>を除くとこの様に記述できない.

何も入力されない場合-1であることを利用(-1は全て1が立った状態)してbit反転の~で終了条件を作れる.

AOJ0087 Strange Mathematical Expression

逆ポーランド記法の問題
stackを用いる.
gist.github.com


C++で一行入力をするには

string s,tmp;
getline(cin,s);//文字列sに一行入力
//cin.eof()空だったらtrue
stringstream ss(s);
while(ss >> tmp){
   //空白で区切られたモノに分割する
   //一つの単位がtmpになる
}


文字列をdouble型にする

atof(tmp.c_str());

tmpはstring型で直接関数atof()に渡せないので.c_str()メソッドを用いる.
atof()関数は文字列をdouble型にする.

AOJ0049 Blood Groups

血液型の分類 | Aizu Online Judge

gist.github.com

int num;

char comma;

string s;

cin>>num>>commma>>s;

で違う方の一行入力を型ごとに変数に格納出来る.

入力が無い時はif(cin.eof())break;で終わらせる事ができる.

 

string のi番目から始めたい時はstring.substr(i)

AIZU ONLINE JUDGE: Code Review