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.
defqueensAttack(n,k,r_q,c_q,obstacles):SQUARE_INF=1queen_inital_pos=[r_q,c_q]# Updaters for movements for every queen's directionupdaters=[(-1,-1),(-1,0),(-1,1),(0,-1),(0,1),(1,-1),(1,0),(1,1)]max_movements_per_quadrant={(-1,-1):min(r_q-SQUARE_INF,c_q-SQUARE_INF),(-1,0):r_q-SQUARE_INF,(-1,1):min(r_q-SQUARE_INF,n-c_q),(0,-1):c_q-SQUARE_INF,(0,1):n-c_q,(1,-1):min(n-r_q,c_q-SQUARE_INF),(1,0):n-r_q,(1,1):min(n-r_q,n-c_q),}# Faster than list for searchingobstacles_set={(r,c)forr,cinobstacles}all_movements=0forupdaterinupdaters:forstepinrange(1,max_movements_per_quadrant[updater]+1):next_coord=(queen_inital_pos[0]+(updater[0]*step),queen_inital_pos[1]+(updater[1]*step))ifnext_coordinobstacles_set:breakall_movements+=1returnall_movements
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 →
This is my Python Code. It works as expected: