www.pudn.com > zju_1000_1010.rar > 1008_other2.cpp
#includeint block[25][4];int flag[25];int used[25][25];int count;int left[25]; int n; int cur[25][4];int occur[10]; int doing(int lev) { if(lev==n*n) return 1; int i,j; for(i=0;i =n&&block[i][0]!=cur[lev-n][2]) continue; if((lev+1)%n!=0&&occur[block[i][1]]==1) continue; if(lev >n; if(n==0) break; int i,j,t; game++; for(i=0;i<10;i++) occur[i]=0; for(i=0;i >block[i][j]; occur[block[i][j]]++; } count=0; for(i=0;i