藍橋杯 串中取3個不重複字母 解題報告

2021-06-28 21:02:36 字數 759 閱讀 6727

從標準輸入讀入乙個由字母構成的串(不大於30個字元)。

從該串中取出3個不重複的字元,求所有的取法。

取出的字元,要求按字母公升序排列成乙個串。

不同的取法輸出順序可以不考慮。

例如:輸入:abc

則輸出:

abc輸入:

abcd

則輸出:

abcabd

acdbcd

輸入:abcaa

則輸出:

abc

一開始以為就只是簡單的取字元,但是看了一下測試資料,原來還會有重複的字母(廢話),而且測試資料中還有數字,比較猥瑣,我的處理放方法是首先對原始字串進行公升序排序,這樣可以很輕鬆的將重複的字母去掉,去掉重複的字母之後,取字母的時候就不會取到重複的串了,更不會碰到有重複的字母出現在同乙個串中,一舉兩得,而且因為已經做過公升序處理,所以得到的串正好符合要求,至於取串的方法,我使用了最簡單的迴圈法,因為藍橋杯的測試資料不會太bt,設定三個起點,依次向後推進,取出三個字母。

#include#include#includeusing namespace std;

bool judge(char a,char b,char c)

int main()

{ char str[31],str0[31];

int len,i,j,k,p;

cin>>str0;

len=strlen(str0);

sort(str0,str0+len);

p=0;

for(i=0;i

藍橋杯 串中取三個不重複字元

從標準輸入讀入乙個由字母構成的串 不大於30個字元 從該串中取出3個不重複的字元,求所有的取法。取出的字元,要求按字母公升序排列成乙個串。不同的取法輸出順序可以不考慮。例如 輸入 abc則輸出 abc輸入 abcd 則輸出 abcabd acdbcd 輸入 abcaa 則輸出 abc由於陣列存入的字...

YTU 1306 串中取3個不重複字母

時間限制 1 sec 記憶體限制 128 mb 從標準輸入讀入乙個由字母構成的串 不大於30個字元 從該串中取出3個不重複的字元,求所有的取法。取出的字元,要求按字母公升序排列成乙個串。不同的取法輸出順序可以不考慮。例如 輸入 abc則輸出 abcabcdabc abdacd bcd include...

藍橋杯 從串中取三個不同字元

取字元 從標準輸入讀入乙個由字母構成的串 不大於30個字元 從該串中取出3個不重複的字元,求所有的取法。取出的字元,要求按字母公升序排列成乙個串。不同的取法輸出順序可以不考慮。例如 輸入 abc則輸出 abc輸入 abcd 則輸出 abcabd acdbcd 輸入 abcaa 則輸出 abc利用se...