Map of pairs in STL

Map in STL is used to hash key and value. We generally see map being used for standard data types. We can also use map for pairs.

For example consider a simple problem, given a matrix and positions visited, print which positions are not visited.

 `// C++ program to demonstrate use of map ` `// for pairs ` `#include ` `using` `namespace` `std; ` ` `  `map, ``int``> vis; ` ` `  `// Print positions that are not marked ` `// as visited ` `void` `printPositions(``int` `a[3][3]) ` `{ ` `    ``for` `(``int` `i = 0; i < 3; i++) ` `        ``for` `(``int` `j = 0; j < 3; j++) ` `            ``if` `(vis[{ i, j }] == 0) ` `                ``cout << ``"("` `<< i << ``", "` `<< j << ``")"` `                     ``<< ``"\n"``; ` `} ` ` `  `int` `main() ` `{ ` `    ``int` `mat[3][3] = { { 0, 1, 2 }, { 3, 4, 5 }, { 6, 7, 8 } }; ` ` `  `    ``// Marking some positions as visited ` `    ``vis[{ 0, 0 }] = 1; ``// visit (0, 0) ` `    ``vis[{ 1, 0 }] = 1; ``// visit (1, 0) ` `    ``vis[{ 1, 1 }] = 1; ``// visit (1, 1) ` `    ``vis[{ 2, 2 }] = 1; ``// visit (2, 2) ` ` `  `    ``// print which positions in matrix are not visited by rat ` `    ``printPositions(mat); ` `    ``return` `0; ` `} `

Output:

```(0, 1)
(0, 2)
(1, 2)
(2, 0)
(2, 1)
```

This article is contributed by Abhishek Rajput. If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.