Magica Extension of C++ (妄想)
こんな言語があったらいいなーっていう妄想です
Union Findが標準ライブラリに含まれる
Union Findは簡単に書けますが、これぐらいライブラリにあってもいいと思います。
graphが標準ライブラリに含まれる
Dijkstra、Bellman-Ford、Dinic、強連結成分分解などをメソッド一発で実行できると楽です。
graph<pair<cap: int, flow: int> > g; /* グラフに辺を追加 */ //最大流の計算 print(g.dinic(0, 1));
任意の個数組でpairができる / pairの変数名を自在に設定できる
pair
a < b < c が a < b && b < c と等価
Pythonだとそうらしいですね。この書き方が使えるとかなりうれしいです
幾何ライブラリが標準ライブラリに含まれる
凸包、もっというとボロノイ図あたりまで標準で含まれると最高です。
言語作るのは大変なので、C++で妥協するならば
ライブラリは自分で作ればいいです。
簡潔な記法はライブラリにtypedefをたくさん入れておけばいいです。
a < b < cはマクロを使って
#define COMP(A,B,C) ((A)<(B) && (B)<(C))
とでもすればいいかもしれません。
任意の個数組でpairができるというのは、pairを拡張してtriple, quad, などを自前で組めばいいです。変数名設定はあきらめましょう