Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <utility>
- #include <vector>
- using namespace std;
- bool Valid(int a,int b,int maxCol,int maxRow)
- {
- if(a%2==0)
- return ((a>=1)&&(a<=maxCol)&&(b<=(maxRow-1))&&(b>=1));
- else
- return ((a>=1)&&(a<=maxCol)&&(b<=maxRow)&&(b>=1));
- }
- vector<pair<int,int>> myNbg(pair<int,int> a, int maxCol,int maxRow)
- {
- vector<pair<int,int>> aBit;
- vector<pair<int,int>> final;
- if(a.second%2==0)
- {
- aBit.push_back(make_pair(a.first,a.second-1));
- aBit.push_back(make_pair(a.first-1,a.second));
- aBit.push_back(make_pair(a.first-1,a.second+1));
- aBit.push_back(make_pair(a.first,a.second+1));
- aBit.push_back(make_pair(a.first+1,a.second+1));
- aBit.push_back(make_pair(a.first+1,a.second));
- }
- else
- {
- aBit.push_back(make_pair(a.first,a.second-1));
- aBit.push_back(make_pair(a.first-1,a.second-1));
- aBit.push_back(make_pair(a.first-1,a.second));
- aBit.push_back(make_pair(a.first,a.second+1));
- aBit.push_back(make_pair(a.first+1,a.second));
- aBit.push_back(make_pair(a.first+1,a.second-1));
- }
- for(unsigned int i=0; i<aBit.size(); i++)
- {
- if(Valid(aBit[i].first,aBit[i].second,maxCol,maxRow))
- final.push_back(aBit[i]);
- }
- return final;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement