kyos1704活動記

適当に考えたことや調べたことを垂れ流すものです。質問等ありましたらtwitter:@kyos1704 に質問してください。

AOJgetter の作成

https://github.com/kyos1704/AOJgetter

こんなものを作っている(まだREADMEすらまじめに書いてない)

AOJのAPIrubyでたたいてクラスを返してくれるgem的なものを作ろうとしている

使い方とかはそのうちちゃんとREADMEに書きます


そもそもUserSearchしかたたけないからあれですね

CとC++の規格についてぼんやりと

なんとなくでまとめておくので間違ってたら教えてください

CとC++は一種類じゃなくて何種類か規格が存在しているので、同じコードでも規格によって動いたり動かなかったりする

C

K&R 1978年
C89 1990年
C99 1999年
C11 2011年

C++

標準規格
c++98 1998年
c++03 2003年
c++TR1 2007年
c++11 2011年

違っても動いたり動かなかったりするので規格確認とかコンパイラを確認したりは大事かもしれない

構造体の生成について-構造体をvectorに入れたりするときの書き方とか

ダイクストラとかを書くときにコンストラクタ付きの構造体を書いて、vectorに突っ込むみたいなことを良くしていて、

struct S{
  S(){}
  S(int a,int b){
    x=a;y=b;
  }
  int x,y;
};
int main(){
  vector<S> tmp;
  tmp.push_back(S(1,2));
}

みたいなことを良くしていたのだが、さすがに冗長なのでどうにかできないかなと思っていた

struct S{
  int x,y;
};

int main(){
  vector<S> tmp;
  tmp.push_back((S){1,2});
}

でよさそう。
ちなみに

  S a = {1,2};

で初期化できたりする。


ついでに教えてもらったこと

連番でvectorに突っ込む std::iotaとか
コンストラクタがあるやつをvectorに追加するときには
vec.emplace_back(a,b,c...)みたいなこともできるらしい

夏休みのICPCチャレンジ部の活動

今日は2回生にqueueとstackを教え、
1回生に今年の国内のAを解かせてalgorithmのsortをできるようになってもらいました

追記

毎回書こうかなーとか思ってたのに全く書かなかったので

2回生
1.queueとstackが使えるようになってもらったので、幅優先と深さ優先探索を再帰なしで書く練習
2.ダイクストラを一応一回書いてみる
ぐらいをしました

なんかだいたいいつまでにこれこれはできるようになってるといいなぁってフローチャート(?)的なものが作れるといいかなあと思っています

SRM 585 の結果と感想

rating 1061->1117
良い感じ

easy

やるだけ

med

なんか微妙に複雑に見えたけど 
紙に書いたら別になんてことなかった
計算量も大したことなし

hard

にぶたんと組み合わせてうごうごしたら大丈夫っぽいけど
判定がめんどくさすぎて投げてしまった