萌新求助
查看原帖
萌新求助
371031
别悝科夫楼主2020/10/28 22:31
#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了。有带佬帮忙吗
2020/10/28 22:31
加载中...