素數環 搜尋

2021-07-15 03:47:00 字數 576 閱讀 9327

高產的博主來了,當然這個部落格刷題記錄挺少的,一般都是講座(???黑人問號)。

今天更新的是素數環,素數環的意思就是:輸入正整數n,用整數1,2,3,……,n 的某種排列組成乙個環,使任意相鄰的兩數和均為素數。你的任務是輸出有多少種排列方案。

其實吧,這道題的解題思路和深搜差不多。。。就是「一條路走到黑(???)」就是選完乙個方案後,就退回乙個元素然後繼續選。

a陣列是模擬環的陣列,vis是visit,記錄乙個點走沒走過。

記得vis一定要置回0,要不然就炸了。

ac**:

#include

using namespace std;

int a[21],vis[21],n,t;

bool is_prime(int n)

void js(int xx)}}

int main()

{int kase=0;

scanf("%d",&n);

a[0]=1;

vis[1]=1;

js(1);

cout《在這裡附上智障同學的素數環加強版:

加油,博主要繼續努力啦!~\(≧▽≦)/~下次見

DFS搜尋題素數環

素數環 輸入整數1,2,3,4,5,n組成乙個環,使得相鄰兩個整數之和均為素數。輸出時從整數1開始逆時針排列。同乙個環應恰好輸出一次。n 16.sample input output 1 4 3 2 5 6 1 6 5 2 3 4 使用dfs搜尋解釋 素數環的第乙個數為1,則選定第乙個數為1,然後向...

素數環 搜尋與回溯

題目描述description 從1到20這20個數擺成乙個環,要求相鄰的兩個數的和是乙個素數。輸入輸出格式input output 輸入格式 無輸入輸出格式 乙個整數 第幾號素數環 一列數字 表示這個素數環 輸入輸出樣例sample input output 樣例測試點 1 輸入樣例 無輸出樣例 ...

hdu素數環(搜尋入門題)

這是一道dfs入門題,題意簡單,注意兩個地方,乙個是n為奇數時有兩個奇數相鄰,此時肯定無素數環,第二個是對於不同的dfs定義有不同的實現方法,個人建議入門應該嘗試各種定義的dfs進行實現,看了下其他人寫的 稍加修改了下 include include using namespace std int ...