HDU 2894 DeBruijin (尤拉迴路)

2021-08-08 04:15:25 字數 900 閱讀 2204

題目位址

題意:中文不解釋

思路:第乙個輸出無疑就是2^n,然後複雜的就是輸出序列,下圖就是乙個n為3的時候的情況,因為每次都要旋轉一位,我們可以把這個抽象成乙個節點個數為2^(n-1)的圖,對應2^(n-1)個n-1位二進位制數,當前的節點代表的是二進位制數字為k,他要連向代表數(k<<1)&(1<

#include 

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#define ll long long

#define n 1<<15

#define m 200010

#define inf 0x3f3f3f3f

using

namespace

std;

const ll mod = 1e9 + 7;

const

double eps = 1e-9;

int n;

bool vis[n];

stack

s;void dfs(int num)

if (!vis[num2])

}int main()

dfs(0);

cout

<< (1

<< n) << " ";

for (int i = 1; i < n; i++)

while (s.size() >= n)

cout

<< endl;

}return

0;}

HDU 2894 DeBruijin 數字尤拉

題目大意 旋轉鼓的表面分成m塊扇形,如圖所示 m 8 圖中陰影區表示用導電材料製成,空白區用絕緣材料製成,終端a b和c是3 k 3 處接地或不是接地分別用二進位制訊號0或1表示。因此,鼓的位置可用二進位制訊號表示。試問應如何選取這8個扇形的材料使每轉過乙個扇形都得到乙個不同的二進位制訊號,即每轉一...

HDU 尤拉迴路

problem description 尤拉迴路是指不令筆離開紙面,可畫過圖中每條邊僅一次,且可以回到起點的一條迴路。現給定乙個圖,問是否存在尤拉迴路?input 測試輸入包含若干測試用例。每個測試用例的第1行給出兩個正整數,分別是節點數n 1 n 1000 和邊數m 隨後的m行對應m條邊,每行給出...

HDU 1878 尤拉迴路(判斷尤拉迴路)

題目大意 尤拉迴路是指不令筆離開紙面,可畫過圖中每條邊僅一次,且可以回到起點的一條迴路。現給定乙個圖,問是否存在尤拉迴路?解題思路 判斷無向圖是否存在尤拉迴路,判斷每個點的度數是否為偶數 並查集確認連通性。1 include2 include3 include4 define clr arr,val...