字串連線(貪心)

2022-03-04 01:38:01 字數 868 閱讀 2540

輸入n個字串s[i],你要把他們按某個順序連線起來,使得字典序最小。

(1 <= n <= 100) (每個字串長度 <= 100) (字串只包含小寫字母)

input

第一行乙個整數n。

接下來每行乙個字串s[i]。

output

一行乙個字串表示把輸入的n個字串按某個順序連線之後的結果

input示例6it

looks

like

aneasy

problem

output示例

思路:用sort自定義cmp函式比較字串字典序大小,排序後輸出即可。

• 最容易想到的是按字典序排序。

• ⼀個反例是ba b,答案是bab⽽不是bba。

• 空字元最⼤還是最⼩?(字典中是最⼩)

• 如果認為是最⼤的話,反例是bc b,答案是bbc

• 對於任意2個字串,如果交換後更優,就交換。

• 類似氣泡排序,相當於按照a + b < b + a排序。

#include using namespace std;

const int maxn = 120;

bool cmp(string a,string b)

string s[maxn];

int main()

sort(s,s+n,cmp);

for(int i=0 ; icout

}

51nod 字串連線(貪心)

wwwwodddd 命題人 基準時間限制 1 秒 空間限制 131072 kb 分值 5 輸入n個字串s i 你要把他們按某個順序連線起來,使得字典序最小。1 n 100 每個字串長度 100 字串只包含小寫字母 input 第一行乙個整數n。接下來每行乙個字串s i output 一行乙個字串表示...

字串連線

輸入n個字串s i 你要把他們按某個順序連線起來,使得字典序最小。1 n 100 每個字串長度 100 字串只包含小寫字母 input 第一行乙個整數n。接下來每行乙個字串s i output 一行乙個字串表示把輸入的n個字串按某個順序連線之後的結果input示例 6 itlooks like an...

字串連線

mysql select abc 123 abc 123 123 1 row in set,1 warning 0.00 sec mysql select 123 123 123 123 246 1 row in set 0.00 sec mysql select 123 123 123 123 2...