#include <cstring>
using namespace std;
int n,a[20],num=0;
bool ch[20];
inline bool prime(int i) {
int k=2;
while(k<=sqrt(i)&&i%k!=0) k++;
if(k>sqrt(i)) return 1;
else return 0;
}
inline void dfs(int t){
for(int i=2;i<=n;++i){
if(ch[i]==true&&prime(a[t-1]+i)){
a[t]=i;
ch[i]=false;
if(t==n&&prime(a[n]+a[1])) {
for(int i=1;i<=n;++i){
cout<<a[i]<<" ";
}
cout<<endl;
}
else dfs(t+1);
ch[i]=true;
}
}
}
int main() {
memset(ch,true,sizeof(ch));
while(scanf("%d",&n)!=EOF){
a[1]=1;
num++;
cout<<"Case "<<num<<":"<<endl;
dfs(2);
cout<<endl;
}
return 0;
}```
找了个标程在本地试了几个数据都一样,可是wa了。有带佬帮忙吗