UVA 129 困難的串

2022-09-15 02:18:14 字數 750 閱讀 9298

#include #include #include using namespace std;

int cnt = 0; //代表字典序號

int l, n; //定義構造困難的串所需要的前l個字元以及字典序的編號

char string[81]; //定義儲存字串的字元陣列

int dfs(int cur); //代表構造困難的串所需要的函式

int dfs(int cur)

else if (i % 4 == 0 && i != 0)

printf("%c", string[i]);

} cout << "\n"<< strlen(string) << endl;

return 0;

} for (i = 0; i < l; i++)

}if(easy != 0)

} if (ok)

} }string[cur] = '\0'; //如果在遞迴當中,沒有字元可填入字串當中的話,那麼就要進行遞迴操作(將之前字元嘗試填入的位置清0,不然會影響之後的結果)

return 1;

}int main()

else

cnt = 0;

}}

uva 129 困難的串

題目大意 如果乙個字串包含兩個相鄰的重複子串,則稱它是 容易的串 其他串稱為 困難的串 列如,bb,abcdacabcab,abcdabcd都是容易的串,而d,dc,abdab都是困難的串 輸入正整數n和l,輸出由前l個字元組成的,字典序第n小的困難的串 include include includ...

uva 129 困難的串

先想出最簡單的解法 列舉字母串 書中所介紹的遞迴排列列舉演算法 每次產生乙個新串都進行檢查。檢查是否 困難 的方法是 外層迴圈列舉子串長度 中層迴圈列舉左側子串的起始位置 內層迴圈列舉子串中的字元的位置直覺上來說,這個方法就太笨重了。實際上這個方法進行了很多重複的工作 每次在原有字母串基礎上增加一位...

UVa129 困難的串

輸入依舊是坑。include include include include includeusing namespace std int n,l int cnt int s 100 int dfs int cur 表示排到第cur個字元 printf c a s i printf n d n cu...