本题 就是对相邻两个数是不是素数进行判断,
对于每个数使用时要标记 用后 取消标记。
注意要对第一个和最后一个进行判断。
#include <iostream>
#include <cstring>
using namespace std;
int n,visited[30],buffer[30],ans,flag;
bool is_prime(int x,int y)
{
int sum=x+y;
for(int i=2;i*i<=sum;i++)
{
if(sum%i==0)
return 0;
}
return 1;
}
void dfs(int cur)
{
visited[1]=1;
if(cur>n && is_prime(buffer[1],buffer[n]))
{
......
阅读全文