// pair
#include <vector>
#include <iostream>
using namespace std;
int main() {
/* Pair гэж юу вэ? Энэ нь шууд утгаараа буюу 2 зүйлийг нийлүүлж хос
болгодог гэсэн үг. Өөрөөр хэлбэл int a; гэсэн тохиолдолд зөвхөн
1 л бүхэл тоо авна. Харин pair<int,int> a; гэсэн тохиолдолд a гэсэн
хувьсагч нь 2 тоо зэрэг авж чадна гэсэн үг юм. Үүнийг int a[2];
гэхэд болох ч энэ 2 нь тус тусдаа буюу a[0], a[1] гэсэн 2 өөр
хувьсагчууд юм. Харин pair бол энэ 2 нь салахгүй үргэлж хамтдаа
явна гэсэн үг. Харин энэ хосын эхний байрлалдах утгад хандахыг
хүсвэл a.first, 2 дахь бол a.second гэхэд л болно. pair нь бичсэнчлэн
хос болгодог гэсэн тул pair< pair<int,int>, int> > a; гэж болох ба
энэ нь 3 ширхэг тоо авах ба хандахдаа a.first.first, a.first.second,
a.second гэнэ. pair<төрөл, төрөл> гэсэн бүтэцтэй.
*/
pair<int,int> a; // a нь 2 int агуулах нэг хувьсагч юм.
a.first = 24; // a хувьсагчийн эхнийхэд нь 24 гэсэн утга оноож байна.
a.second = 7; // a хувьсагчийн хоёрдахь нь 7 гэсэн утга оноож байна.
cout << a.first << " " << a.second << endl; // хэвлэх
vector< pair<int,int> > v; // vector-ын элемэнт бүр нь 2 тоо агуулдаг гэсэн утгатай.
v.push_back( make_pair( 14, 3 ) ); // 14, 3 гэсэн 2 тоог нийлүүлээд хос болгоод үүнийгээ
// v гэсэн vector-т нэмж байна.
cout << v[0].first << " " << v[0].second << endl; // хэвлэх.
pair<int, string> b; // int, string гэсэн 2 төрлийu хос болгож байна.
b.first = 13; // эхнийхэд нь 13 гэсэн утга оноож байна.
b.second = "Reasons Why"; // хоёрдахьд нь Reasons Why гэсэн утгыг оноож байна.
cout << b.first << " " << b.second << endl; // хэвлэх.
pair < string, pair<string, string> > c; // string, int, int гэсэн 3-ыг хос болгож байна.
c.first = "Oilgomjtoi"; // эхнийхэд нь Oilgomjtoi гэсэн утга оноож байна.
c.second.first = "Baigaa"; // хоёрдахьд нь Baigaa гэсэн утга оноож байна.
c.second.second = "Biz"; // гуравдахьд нь Biz гэсэн утга оноож байна.
cout << c.first << " " << c.second.first << " " << c.second.second << endl;
return 0;
}
Ly8gcGFpcgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8aW9zdHJlYW0+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbWFpbigpIHsKCS8qIFBhaXIg0LPRjdC2INGO0YMg0LLRjT8g0K3QvdGNINC90Ywg0YjRg9GD0LQg0YPRgtCz0LDQsNGA0LDQsCDQsdGD0Y7RgyAyINC30q/QudC70LjQudCzINC90LjQudC70q/Sr9C70LYg0YXQvtGBCgkgICDQsdC+0LvQs9C+0LTQvtCzINCz0Y3RgdGN0L0g0q/Qsy4g06jTqdGA06nTqdGAINGF0Y3Qu9Cx0Y3QuyBpbnQgYTsg0LPRjdGB0Y3QvSDRgtC+0YXQuNC+0LvQtNC+0LvQtCDQt9Op0LLRhdOp0L0KCSAgIDEg0Lsg0LHSr9GF0Y3QuyDRgtC+0L4g0LDQstC90LAuINCl0LDRgNC40L0gcGFpcjxpbnQsaW50PiBhOyDQs9GN0YHRjdC9INGC0L7RhdC40L7Qu9C00L7Qu9C0IGEg0LPRjdGB0Y3QvQoJICAg0YXRg9Cy0YzRgdCw0LPRhyDQvdGMIDIg0YLQvtC+INC30Y3RgNGN0LMg0LDQstC2INGH0LDQtNC90LAg0LPRjdGB0Y3QvSDSr9CzINGO0LwuINKu0q/QvdC40LnQsyBpbnQgYVsyXTsKCSAgINCz0Y3RhdGN0LQg0LHQvtC70L7RhSDRhyDRjdC90Y0gMiDQvdGMINGC0YPRgSDRgtGD0YHQtNCw0LAg0LHRg9GO0YMgYVswXSwgYVsxXSDQs9GN0YHRjdC9IDIg06nTqdGAIAoJICAg0YXRg9Cy0YzRgdCw0LPRh9GD0YPQtCDRjtC8LiDQpdCw0YDQuNC9IHBhaXIg0LHQvtC7INGN0L3RjSAyINC90Ywg0YHQsNC70LDRhdCz0q/QuSDSr9GA0LPRjdC70LYg0YXQsNC80YLQtNCw0LAgCgkgICDRj9Cy0L3QsCDQs9GN0YHRjdC9INKv0LMuINCl0LDRgNC40L0g0Y3QvdGNINGF0L7RgdGL0L0g0Y3RhdC90LjQuSDQsdCw0LnRgNC70LDQu9C00LDRhSDRg9GC0LPQsNC0INGF0LDQvdC00LDRhdGL0LMgCgkgICDRhdKv0YHQstGN0LsgYS5maXJzdCwgMiDQtNCw0YXRjCDQsdC+0LsgYS5zZWNvbmQg0LPRjdGF0Y3QtCDQuyDQsdC+0LvQvdC+LiBwYWlyINC90Ywg0LHQuNGH0YHRjdC90YfQu9GN0L0gCgkgICDRhdC+0YEg0LHQvtC70LPQvtC00L7QsyDQs9GN0YHRjdC9INGC0YPQuyBwYWlyPCBwYWlyPGludCxpbnQ+LCBpbnQ+ID4gYTsg0LPRjdC2INCx0L7Qu9C+0YUg0LHQsCAKCSAgINGN0L3RjSDQvdGMIDMg0YjQuNGA0YXRjdCzINGC0L7QviDQsNCy0LDRhSDQsdCwINGF0LDQvdC00LDRhdC00LDQsCBhLmZpcnN0LmZpcnN0LCBhLmZpcnN0LnNlY29uZCwgCgkgICBhLnNlY29uZCDQs9GN0L3RjS4gcGFpcjzRgtOp0YDTqdC7LCDRgtOp0YDTqdC7PiDQs9GN0YHRjdC9INCx0q/RgtGN0YbRgtGN0LkuCgkqLwoJcGFpcjxpbnQsaW50PiBhOyAvLyBhINC90YwgMiBpbnQg0LDQs9GD0YPQu9Cw0YUg0L3RjdCzINGF0YPQstGM0YHQsNCz0Ycg0Y7QvC4KCWEuZmlyc3QgPSAyNDsgCS8vIGEg0YXRg9Cy0YzRgdCw0LPRh9C40LnQvSDRjdGF0L3QuNC50YXRjdC0INC90YwgMjQg0LPRjdGB0Y3QvSDRg9GC0LPQsCDQvtC90L7QvtC2INCx0LDQudC90LAuCglhLnNlY29uZCA9IDc7CS8vIGEg0YXRg9Cy0YzRgdCw0LPRh9C40LnQvSDRhdC+0ZHRgNC00LDRhdGMINC90YwgNyDQs9GN0YHRjdC9INGD0YLQs9CwINC+0L3QvtC+0LYg0LHQsNC50L3QsC4KCgljb3V0IDw8IGEuZmlyc3QgPDwgIiAiIDw8IGEuc2Vjb25kIDw8IGVuZGw7IC8vINGF0Y3QstC70Y3RhQoKCXZlY3RvcjwgcGFpcjxpbnQsaW50PiA+IHY7IC8vIHZlY3Rvci3Ri9C9INGN0LvQtdC80Y3QvdGCINCx0q/RgCDQvdGMIDIg0YLQvtC+INCw0LPRg9GD0LvQtNCw0LMg0LPRjdGB0Y3QvSDRg9GC0LPQsNGC0LDQuS4KCXYucHVzaF9iYWNrKCBtYWtlX3BhaXIoIDE0LCAzICkgKTsgCS8vIDE0LCAzINCz0Y3RgdGN0L0gMiDRgtC+0L7QsyDQvdC40LnQu9Kv0q/Qu9GN0Y3QtCDRhdC+0YEg0LHQvtC70LPQvtC+0LQg0q/Sr9C90LjQudCz0Y3RjSAKCQkJCQkJCQkJCS8vIHYg0LPRjdGB0Y3QvSB2ZWN0b3It0YIg0L3RjdC80LYg0LHQsNC50L3QsC4KCgljb3V0IDw8IHZbMF0uZmlyc3QgPDwgIiAiIDw8IHZbMF0uc2Vjb25kIDw8IGVuZGw7IC8vINGF0Y3QstC70Y3RhS4KCglwYWlyPGludCwgc3RyaW5nPiBiOyAvLyBpbnQsIHN0cmluZyDQs9GN0YHRjdC9IDIg0YLTqdGA0LvQuNC5dSDRhdC+0YEg0LHQvtC70LPQvtC2INCx0LDQudC90LAuCgliLmZpcnN0ID0gMTM7IC8vINGN0YXQvdC40LnRhdGN0LQg0L3RjCAxMyDQs9GN0YHRjdC9INGD0YLQs9CwINC+0L3QvtC+0LYg0LHQsNC50L3QsC4KCWIuc2Vjb25kID0gIlJlYXNvbnMgV2h5IjsgLy8g0YXQvtGR0YDQtNCw0YXRjNC0INC90YwgUmVhc29ucyBXaHkg0LPRjdGB0Y3QvSDRg9GC0LPRi9CzINC+0L3QvtC+0LYg0LHQsNC50L3QsC4KCgljb3V0IDw8IGIuZmlyc3QgPDwgIiAiIDw8IGIuc2Vjb25kIDw8IGVuZGw7IC8vINGF0Y3QstC70Y3RhS4KCglwYWlyIDwgc3RyaW5nLCBwYWlyPHN0cmluZywgc3RyaW5nPiA+IGM7IC8vIHN0cmluZywgaW50LCBpbnQg0LPRjdGB0Y3QvSAzLdGL0LMg0YXQvtGBINCx0L7Qu9Cz0L7QtiDQsdCw0LnQvdCwLgoJYy5maXJzdCA9ICJPaWxnb21qdG9pIjsgLy8g0Y3RhdC90LjQudGF0Y3QtCDQvdGMIE9pbGdvbWp0b2kg0LPRjdGB0Y3QvSDRg9GC0LPQsCDQvtC90L7QvtC2INCx0LDQudC90LAuCgljLnNlY29uZC5maXJzdCA9ICJCYWlnYWEiOyAvLyDRhdC+0ZHRgNC00LDRhdGM0LQg0L3RjCBCYWlnYWEg0LPRjdGB0Y3QvSDRg9GC0LPQsCDQvtC90L7QvtC2INCx0LDQudC90LAuCgljLnNlY29uZC5zZWNvbmQgPSAiQml6IjsgLy8g0LPRg9GA0LDQstC00LDRhdGM0LQg0L3RjCBCaXog0LPRjdGB0Y3QvSDRg9GC0LPQsCDQvtC90L7QvtC2INCx0LDQudC90LAuCgoJY291dCA8PCBjLmZpcnN0IDw8ICIgIiA8PCBjLnNlY29uZC5maXJzdCA8PCAiICIgPDwgYy5zZWNvbmQuc2Vjb25kIDw8IGVuZGw7CgoJcmV0dXJuIDA7Cn0=