Queen's Attack II Discussions | Algorithms | HackerRank
We use cookies to ensure you have the best browsing experience on our website. Please read our cookie policy for more information about how we use cookies.
/* * Complete the 'queensAttack' function below. * * The function is expected to return an INTEGER. * The function accepts following parameters: * 1. INTEGER n * 2. INTEGER k * 3. INTEGER r_q * 4. INTEGER c_q * 5. 2D_INTEGER_ARRAY obstacles */void_info(intn,intk,intr_q,intc_q,vector<vector<int>>obstacles){cout<<"n: "<<n<<endl;cout<<"q: "<<r_q<<","<<c_q<<endl;for(autoob:obstacles){autor=ob[0];autoc=ob[1];cout<<"o: "<<r<<','<<c<<endl;}}int_north(intn,intr_q,intc_q,constvector<vector<int>>&obstacles){vector<int>z={r_q};for(autoob:obstacles){if(ob[1]==c_q){autodr=r_q-ob[0];if(dr>0){z.push_back(dr);}}}autod=*min_element(z.begin(),z.end());returnd-1;}int_east(intn,intr_q,intc_q,constvector<vector<int>>&obstacles){vector<int>z={n+1-c_q};for(autoob:obstacles){if(ob[0]==r_q){autodc=ob[1]-c_q;if(dc>0){z.push_back(dc);}}}autod=*min_element(z.begin(),z.end());returnd-1;}int_south(intn,intr_q,intc_q,constvector<vector<int>>&obstacles){vector<int>z={n+1-r_q};for(autoob:obstacles){if(ob[1]==c_q){autodr=ob[0]-r_q;if(dr>0){z.push_back(dr);}}}autod=*min_element(z.begin(),z.end());returnd-1;}int_west(intn,intr_q,intc_q,constvector<vector<int>>&obstacles){vector<int>z={c_q};for(autoob:obstacles){if(ob[0]==r_q){autodc=c_q-ob[1];if(dc>0){z.push_back(dc);}}}autod=*min_element(z.begin(),z.end());returnd-1;}int_ne(intn,intr_q,intc_q,constvector<vector<int>>&obstacles){intk=min(r_q,n+1-c_q);vector<int>z={k};for(autoob:obstacles){autodr=r_q-ob[0];autodc=ob[1]-c_q;if((dr>0)&&(dr==dc)){z.push_back(dr);}}autod=*min_element(z.begin(),z.end());returnd-1;}int_se(intn,intr_q,intc_q,constvector<vector<int>>&obstacles){intk=min(n+1-r_q,n+1-c_q);vector<int>z={k};for(autoob:obstacles){autodr=ob[0]-r_q;autodc=ob[1]-c_q;if((dr>0)&&(dr==dc)){z.push_back(dr);}}autod=*min_element(z.begin(),z.end());returnd-1;}int_sw(intn,intr_q,intc_q,constvector<vector<int>>&obstacles){intk=min(n+1-r_q,c_q);vector<int>z={k};for(autoob:obstacles){autodr=ob[0]-r_q;autodc=c_q-ob[1];if((dr>0)&&(dr==dc)){z.push_back(dr);}}autod=*min_element(z.begin(),z.end());returnd-1;}int_nw(intn,intr_q,intc_q,constvector<vector<int>>&obstacles){intk=min(r_q,c_q);vector<int>z={k};for(autoob:obstacles){autodr=r_q-ob[0];autodc=c_q-ob[1];if((dr>0)&&(dr==dc)){z.push_back(dr);}}autod=*min_element(z.begin(),z.end());returnd-1;}intqueensAttack(intn,intk,intr_q,intc_q,vector<vector<int>>obstacles){// _info(n, k, r_q, c_q, obstacles);intcnt=0;cnt+=_north(n,r_q,c_q,obstacles);cnt+=_east(n,r_q,c_q,obstacles);cnt+=_south(n,r_q,c_q,obstacles);cnt+=_west(n,r_q,c_q,obstacles);cnt+=_ne(n,r_q,c_q,obstacles);cnt+=_se(n,r_q,c_q,obstacles);cnt+=_sw(n,r_q,c_q,obstacles);cnt+=_nw(n,r_q,c_q,obstacles);// cout << cnt << endl;returncnt;}
Cookie support is required to access HackerRank
Seems like cookies are disabled on this browser, please enable them to open this website
Queen's Attack II
You are viewing a single comment's thread. Return to all comments →