2011-03-31から1日間の記事一覧

幅優先検索と深さ優先検索の骨格

深さ優先検索:再帰関数で深くまで。 関数1開始→関数1−1開始→関数1−1終了→関数1終了 なので、スタックと同じ. void dfs(int x, int y) { //...の条件のとき再帰せず、終了。 if(...) {...} //..の条件のとき再帰せず、終了。 if(..) {..} //再帰関数で…

pair ヘッダファイル

pairは2つの値をペアにして1つとして扱うためのクラス。 template struct pair { typedef T1 first_type; typedef T2 second_type; T1 first; T2 second; pair() : first(T1()), second(T2()) {} pair(const T1& x, const T2& y) : first(x), second(y) {}…

迷路

char arr[N][M+1] = {"#S######.#", "......#..#", ".#.##.##.#", ".#........", "##.##.####", "....#....#", ".#######.#", "....#.....", ".####.###.", "....#...G#", }; で、迷路をする。最短距離を求めたい。 深さ優先検索すると、パンクするみたいな…

文字列リテラルの注意点。

"abc" と'abc'では意味が違うというお話。 C++言語ではどちらもchar型で解釈されてしまうが、 Cでは"abc"はchar型、'abc'はint型に解釈されてしまう。2011.4.4追記 char key = 'a'; char ch = key[0]; int num = key[0]; cout したら、エラー出ずに 97 a と…