pair/tuple(C++)

pair

・2つの値の組を表す
・pair<値1の型, 値2の型> 変数名; で宣言
・変数名.firstで1番目の値、変数名.secondで2番目の値にアクセスできる
・make_pair(値1, 値2)でpairを生成できる
・tie(変数1, 変数2) = pair型の値; でpairを分解できる

tuple

・pairを一般化したもの。複数個の値の組を表す
・tuple<値1の型, 値2の型, 値3の型, (...)> 変数名;(必要な分だけ型を書く)で宣言
・make_tuple(値1, 値2, 値3, (…))でtupleを生成することができる
・tie(変数1, 変数2, 変数3, (…)) = tuple型の値;でtupleを分解することができる
(参考:https://atcoder.jp/contests/apg4b/tasks/APG4b_z

→全部tupleで書けば良い?

tuple例


比較・ソート

型が同じpairやtuple同士は比較できる

例えばpair`を比較する場合、1番目の値を基準に比較され、もし1番目の値が等しい場合は2番目の値を基準に比較されます。tupleも同様

AtCoder該当問題
ABC182b

abc128b

tupleを使った解法