A simpler approach using simple implementation


#1

Comment body goes here.void functio(vector<vector> &ans, int i, int j, int x, int y, vector&A)
{
int n=A.size();
int m=A[0].size();
while(i+x<n && j+y<m && i+x>=0 && j+y>=0)
{
ans[i+x][j+y]++;
if(A[i+x][j+y]==‘1’)
return;
i+=x;
j+=y;
}
}
vector<vector > Solution::queenAttack(vector &A) {
int n=A.size();
int m=A[0].size();
vector<vector>ans(n,vector(m,0));
for(int i=0;i<n;i++)
{
for(int j=0;j<m;j++)
{
if(A[i][j]==‘1’)
{ functio(ans,i,j,1,0,A);
functio(ans,i,j,-1,0,A);
functio(ans,i,j,0,1,A);
functio(ans,i,j,0,-1,A);
functio(ans,i,j,1,1,A);
functio(ans,i,j,-1,-1,A);
functio(ans,i,j,1,-1,A);
functio(ans,i,j,-1,1,A);
}
}
}
return ans;
}