Advertisement
Guest User

Untitled

a guest
Oct 19th, 2019
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.19 KB | None | 0 0
  1. #include <iostream>
  2. #include <utility>
  3. #include <vector>
  4.  
  5. using namespace std;
  6.  
  7. bool Valid(int a,int b,int maxCol,int maxRow)
  8. {
  9.     if(a%2==0)
  10.         return ((a>=1)&&(a<=maxCol)&&(b<=(maxRow-1))&&(b>=1));
  11.     else
  12.         return ((a>=1)&&(a<=maxCol)&&(b<=maxRow)&&(b>=1));
  13. }
  14. vector<pair<int,int>> myNbg(pair<int,int> a, int maxCol,int maxRow)
  15. {
  16.     vector<pair<int,int>> aBit;
  17.     vector<pair<int,int>> final;
  18.     if(a.second%2==0)
  19.     {
  20.         aBit.push_back(make_pair(a.first,a.second-1));
  21.         aBit.push_back(make_pair(a.first-1,a.second));
  22.         aBit.push_back(make_pair(a.first-1,a.second+1));
  23.         aBit.push_back(make_pair(a.first,a.second+1));
  24.         aBit.push_back(make_pair(a.first+1,a.second+1));
  25.         aBit.push_back(make_pair(a.first+1,a.second));
  26.     }
  27.     else
  28.     {
  29.         aBit.push_back(make_pair(a.first,a.second-1));
  30.         aBit.push_back(make_pair(a.first-1,a.second-1));
  31.         aBit.push_back(make_pair(a.first-1,a.second));
  32.         aBit.push_back(make_pair(a.first,a.second+1));
  33.         aBit.push_back(make_pair(a.first+1,a.second));
  34.         aBit.push_back(make_pair(a.first+1,a.second-1));
  35.     }
  36.     for(unsigned int i=0; i<aBit.size(); i++)
  37.     {
  38.         if(Valid(aBit[i].first,aBit[i].second,maxCol,maxRow))
  39.             final.push_back(aBit[i]);  
  40.     }
  41.     return final;
  42. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement