刚开始 做了一下 超时 然后看网上说要用 剪枝 有趣查了剪枝算法 结果 测试用例(自己写了好多测试用例)都可以通过 但是就是一直WA 想哭
import java.util.Scanner;
public class Gnome_Tetravex {
static int n,arr[][],put[],cnt[],cn,game;
static boolean can;
public static void main(String[] args) {
Scanner s=new Scanner(System.in);
while((n=s.nextInt())!=0){
arr=new int[25][4];
put=new int[25];
cnt=new int[25];
can=false;
cn=0;
int j;
for(int i=0;i<n*n;i++){
for(j=0;j<cn;j++)
if(arr[j][0]==arr[i][0]&&arr[j][1]==arr[i][1]&&arr[j][2]==arr[i][2]&&arr[j][3]==arr[i][3])break;
if(j==cn){
arr[cn][0]=s.nextInt();
arr[cn][1]=s.nextInt();
arr[cn][2]=s.nextInt();
arr[cn][3]=s.nextInt();
cn++;
}
cnt[j]++;
}
game++;
dfs(0);
if