置換的玩笑 DFS 暴力

2022-05-02 01:15:09 字數 1036 閱讀 7495

鏈結

題意:乙個$1$到$n$的序列被去掉空格,需要將其還原。例如$4111109876532$可還原成$4 \ 1 \  11 \  10 \  9 \  8 \  7 \  6 \  5 \  3 \  2$。字串的長度在$1$到$100$之間。

由於是1到n的序列,根據長度可以求出n。

由於長度不超過100,所以n不超過54,即最多兩位數。因此只需分別取首部的1位和2位,進行記錄,對剩下的遞迴。

1 #include2

using

namespace

std;34

const

int maxn = 100+10;5

char

s[maxn];

6int

n, len;78

int getnum1(int

index)912

int getnum2(int

index)

1316

17int

res[maxn];

18bool

vis[maxn];

19int cnt = 0;20

bool dfs(int

index)

2133

return

false;34

}353637

int num1 =getnum1(index);

38if(num1 > n) return

false;39

if(!vis[num1])

4048

49int num2 =getnum2(index);

50if(num2 > 54 || num2 > n) return

false; //

長度為100,n最大為54

5152

if(index < len - 1 && !vis[num2])

5361

62return

false;63

}6465int

main()

66

51nod 2129 逆置換 暴力

2129 逆置換 基準時間限制 1 秒 空間限制 131072 kb 分值 5 難度 1級演算法題 輸入乙個1到n的排列,p 1 p 2 p n 即1到n都出現了1次的乙個長度為n的陣列p。對於每個滿足1 i n的i,求下標j使得p j i。1 n 100000 input 第一行乙個整數n,表示排...

9 9數獨(dfs暴力)

暴力,僅僅也是暴力而已 include using namespace std 構造完成標誌 bool sign false 建立數獨矩陣 int num 9 9 函式宣告 void input void output bool check int n,int key int dfs int n 主...

幸運數字 (暴力搜尋dfs)

出處 考慮到1000,000,000內的符合題意的幸運數字數量級在可接受範圍內,就可以用dfs提前打表將幸運數字都找出來,需要注意的是,因為是要求大於等於的第乙個幸運數字,當x為1000,000,000時,幸運數字就是4444,444,444,需要將其特別加上。之後乙個難點是利用lower boun...