陈泉宏 高级守护 void find(int x) { int c[6]; if(x>n)ans++; else { for(int i=1;i<=k;i++)c[i]=0; int j=f[x]; while(j>0) { c[l[a[j][1]]]=1; j=a[j][2]; } for(int i=1;i<=k;i++) if(c[i]==0) { l[x]=i; find(x+1); } } }