POJ 1780 Code 尤拉路徑

2022-05-28 07:09:08 字數 1131 閱讀 1497

題意:破解一套1-6位長度密碼的系統,尋找這樣乙個序列:對於n位的密碼10^n+n-1長度的連續的長為n的串能夠列舉完所有的密碼。

解法:構圖之後直接dfs會超記憶體,因此需要使用棧來實現。調了很久。

**如下:

#include #include 

#include

#include

#include

using

namespace

std;

int n, mod, head[100005

];int

idx, lim, edge, top;

int stk[1000100

];struct

edge e[

1000100]; //

每個節點只能夠引出10條邊

char vis[1000100

];void insert(int a, int

b) void

dfs()

for (int i = head[v]; i != -1; i =e[i].next)

}if (!flag)

}}int

main()

idx = top = 0

; memset(head,

0xff, sizeof

(head));

memset(vis,

0, sizeof

(vis));

lim = 1

;

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

edge = lim * 10

; mod = lim / 10; //

mod用來提取後後幾位

for (int i = 0; i < lim; ++i)

}dfs();

for (int i = 0; i < top-1; ++i)

printf("%d

", stk[top-1

]);

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

puts(

"");

}return0;

}

POJ 1780 Code 尤拉迴路 模擬棧

poj 1780 code 尤拉迴路 模擬棧 題意 題意較複雜 大致思想是給你乙個n,表示乙個由0 9數字構成的n位密碼.這個解鎖過程如下 鎖一直讀入所有內容.只要當它最後讀入的n個數字與密碼吻合,那麼就表示解鎖了.現在要你輸出乙個長度為10 n n 1的數字序列,這個數字序列包括了n位密碼的所有可...

poj 2337 Catenyms 尤拉路徑

poj 2337 題意 給你一些單詞,單詞a的結尾若等於單詞b的開頭,就可以連線ab,要求把所有單詞連線起來,如果情況有多種,要求字典序最小,如果不能連線所有單詞,輸出 思路 這個題看起來是求哈密頓路,實則求尤拉路,把每個單詞的開頭和結尾當做一條邊連線起來,那麼在這個有向圖中,存在尤拉路則有解,不過...

poj 2337 Catenyms 尤拉路徑

題意 給定一些單詞,假設乙個單詞的尾字母與還有乙個的首字母同樣則能夠連線。問能否夠每乙個單詞用一次,將全部單詞連線,能夠則輸出字典序最小的序列。bin 神的板子 include include include include include include include include inclu...