python -> C++ 対応メモ
これはpython使ってると意識しないところとかではまってググったこととか備忘録用につらつら書き連ねる予定 c++何もわからないので間違ってるかもしれません.もし間違ってたら指摘してくれるととても嬉しい
入出力
少数出力(桁数指定)
何も書かずに出力すると6桁とかになるので精度ガバではじかれたりする
cout << fixed << setprecision(15);
これを最初に一回書くと以降の標準出力は全部指定した桁数(15)になる
宣言,初期化
二次元配列の宣言
例えばH*Wの二次元配列(初期値0)が欲しいとき
dp = [[0]*W for _ in range(H)]
int dp[H][W] = {}; // これはNG (arrayは変数でサイズを宣言できない) int dp[3003][3003] = {}; // これはOK(予めサイズが分かれば最大値+3くらいとかで宣言しとけばよい) vector<vector<int>> dp(H,vector<int>(W,0)); // vectorなら変数で宣言できる vector<vector<int>> dp; dp.assign(H, vector<int>(W, 0)); // assignで後から割り当てたほうがわかりやすそう
vectorで後から割り当てるのが一番使い勝手も可読性もありそうな気がする
便利なの
範囲for文
配列を直接回すやつ
for a in aa: print(a)
for(auto a: aa){ cout << a << endl; }
for x,y in xys:
みたいのはできなそう
でっかい値
INF = float('INF')
#include <climits> INF = INT_MAX \\ int の最大値 LLINF = LLONG_MAX \\long long int の最大値