Someone please tell what's wrong with this simple solution


#1

#define n 9
int r1,c1;
bool issol(vector<vector > &v)
{
for(int i=0;i<9;i++)
for(int j=0;j<9;j++)
if(v[i][j]==’.’)
{
r1=i;
c1=j;
return false;
}
return true;
}
bool ispossible(vector<vector > &v,char op)
{
for(int j=0;j<9;j++)
if(v[r1][j]==op)
return false;

for(int i=0;i<9;i++)
    if(v[i][c1]==op)
        return false;

int rr=r1-r1%3,cc=c1-c1%3;

for(int i=0;i<3;i++)
    for(int j=0;j<3;j++)
        if(v[i+rr][j+cc]==op)
            return false;
return true;

}
bool sol(vector<vector > &v)
{

if(issol(v)){
    return true;
}
        for(char op='1';op<='9';op++){
            if(ispossible(v,op))
            {
                v[r1][c1]=op;
                int r2=r1;
                int c2=c1;
                
                if(sol(v))
                    return true;
                v[r2][c2]='.';
            }
        }
return false;

}
void Solution::solveSudoku(vector<vector > &A) {
r1=0;
c1=0;

bool a=sol(A);
if(a)
    return;

}