www.pudn.com > zju_1000_1010.rar > 1008_other2.cpp


 #include 
 int 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