改下循环顺序
1:
for(int k=0;k<n;k++) for(int j=0;j<n;j++) for(int i=0;i<(1<<n);i++) if(i>>j&1)f[i][k]+=f[i^(1<<j)][k];
2:
for(int j=0;j<n;j++) for(int i=0;i<(1<<n);i++) if(i>>j&1) for(int k=0;k<n;k++)f[i][k]+=f[i^(1<<j)][k];
1直接跑满而2跑不满所以可以过