bool isgoal(){ for(p=0;p<9;p+=3) for(q=0;q<9;q+=3){ for(i=p;i<p+3;i++) for(j=q;j<q+3;j++) if(M[i][j]!=0&&(s.insert(M[i][j])).second==false) return false; s.clear(); } for(i=0;i<9;i++){ s.clear(); for(j=0;j<9;j++) if(M[i][j]==0||(s.insert(M[i][j])).second==false) return false; } for(i=0;i<9;i++){ s.clear(); for(j=0;j<9;j++) if(M[j][i]==0||(s.insert(M[j][i])).second==false) return false; } return true; }
bool isgoal() { for(p=0; p<16; p+=4) for(q=0; q<16; q+=4) { for(i=p; i<p+4; i++) for(j=q; j<q+4; j++) if(M[i][j]!=0&&(s.insert(M[i][j])).second==false) return false; s.clear(); } for(i=0; i<16; i++) { s.clear(); for(j=0; j<16; j++) if(M[i][j]==0||(s.insert(M[i][j])).second==false) return false; } for(i=0; i<16; i++) { s.clear(); for(j=0; j<16; j++) if(M[j][i]==0||(s.insert(M[j][i])).second==false) return false; } return true; }