鏈結
題意:乙個$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 #include2using
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...