#include #include #include #include using namespace std; char buf[100],mp[9][9]; int rc[9],cc[9],bx[3][3],lg[2000],ct[2000]; bool dfs(int lst) { if(lst==0) return true; int nr=-1,nc=-1,ncnt=10; for(int r=0;r<9;r++) for(int c=0;c<9;c++) { if(mp[r][c]) continue; int can=rc[r]&cc[c]&bx[r/3][c/3]; if(ct[can]