Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<bits/stdc++.h>
- using namespace std;
- int arrx[]={2,2,-2,-2,1,-1,1,-1};
- int arry[]={-1,1,-1,1,2,2,-2,-2};
- int inrange(int i,int j){
- if(i<0||i>=3||j<0||j>=3){
- return false;
- }
- return true;
- }
- struct Data {
- int i;
- int j;
- int dis;
- };
- void bfs(int i,int j,vector<vector<int>>& vis,vector<vector<int>>& dis){
- queue<Data> q;
- Data d;
- d.i=i;
- d.j=j;
- d.dis=0;
- vis[i][j]=1;
- q.push(d);
- while(!q.empty()){
- Data in=q.front();
- q.pop();
- cout<<in.i<<" "<<in.j<<endl;
- /* if(in.i==0&&in.j==0){
- cout<<in.dis<<endl;
- dis[in.i][in.j]=in.dis;
- break;
- }*/
- for(int i=0;i<8;i++){
- int x=arrx[i]+in.i;
- int y=arry[i]+in.j;
- if(inrange(x,y)&&vis[x][y]==0){
- vis[x][y]==1;
- Data newd;
- newd.i=x;
- newd.j=y;
- newd.dis=1+in.dis;
- dis[x][y]=newd.dis;
- q.push(newd);
- }
- }
- }
- }
- int main(){
- vector<vector<int>> dis(3,vector<int>(3,0));
- vector<vector<int>> vis(3,vector<int>(3,0));
- bfs(0,0,vis,dis);
- return 0;
- }
Add Comment
Please, Sign In to add comment