Pair 형태로 된 쌍을 vector에 저장하기 위해서 사용된다.
pair<int, int> p1 = make_pair(1,2);
pair<int, int> p2 = {1, 2};
pair<int, int> arr[51];
다음과 같이 make_pair와 중괄화 {}를 이용해 초기화를 할 수 있고 배열의 형태로 사용할 수 있다.
pair<int, int> p1 = make_pair(1,2);
p1.first = 3;
p1.second = 4;
first와 second 로 pair에 첫번째와 두번째 인자에 접근할 수 있다.
백준 7568번 덩치 문제로
몸무게 a 와 키 b 가 주어질 때 두 값이 모두 다른 사람에 비해 클 경우에만
더 덩치가 크다고 판단하여 그에 해당하는 등수들을 출력하는 문제이다.
#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
cin.tie(NULL);
ios::sync_with_stdio(false);
int n;
cin >> n;
pair<int,int> my_p[51];
for(int i = 0 ; i < n; i++)
{
int a, b;
cin >> a >> b;
my_p[i] = {a,b};
}
for(int i = 0; i < n; i++)
{
int rank = 1;
for(int j = 0; j < n; j++)
{
if ((my_p[i].first < my_p[j].first) && (my_p[i].second < my_p[j].second))
{
rank++;
}
}
cout << rank << " ";
}
return 0;
}
vector<pair<int, int>> my_v;
my_v.push_back(make_pair(1,2));
vector에 저장할 때도 pair 형태에 맞게 선언하고 마찬가지로 형태에 맞게 저장해주면 된다.