牛客 假的字串

2021-09-24 02:02:52 字數 1429 閱讀 3474

description

給定n個字串,互不相等,你可以任意指定字元之間的大小關係(即重定義字典序),求有多少個串可能成為字典序最小的串,並輸出它們

input

第一行乙個數表示n

之後n行每行乙個字串表示給定的字串

output:

第一行輸出乙個數x表示可行的字串個數

之後輸出x行,每行輸出乙個可行的字串

輸出的順序和輸入的順序一致

sampleinput

6mcfx

akioi

wenl

asampleoutput

5mcfx

ioiwenla

tips

對於100%的資料,

n <= 30000 , 字串總長<= 300000

字符集為小寫字元

solution

trie樹判斷字首, 拓撲排序判環

#include

using

namespace std;

int trie[

300010][

26], tot =1;

bool end[

300010];

string s[

30010];

int ans[

30010

], cnt =0;

int n;

int edge[30]

[30], deg[30]

;bool

top_sort()

return res ==((

1<<26)

-1);

}void

insert

(const string &a)

end[p]

=true;}

bool

search

(const string &a)

return

top_sort()

;}intmain()

for(

int i =

1; i <= n; i++)if

(search

(s[i]))

ans[

++cnt]

= i;

cout << cnt <<

'\n'

;for

(int i =

1; i <= cnt; i++

) cout << s[ans[i]

]<<

'\n'

;return0;

}

牛客 倒置字串

經過函式後變為 beijing.like i 輸入描述 每個測試輸入包含1個測試用例 i like beijing.輸入用例長度不超過100 輸出描述 依次輸出倒置之後的字串,以空格分割 1.先把字串整體倒轉 反轉前 i like beijing.反轉後1 gnijied ekil i 2.把字元傳...

字串雜湊 牛客白兔的字串

時間限制 c c 1秒,其他語言2秒 空間限制 c c 262144k,其他語言524288k 64bit io format lld 題目描述 abab 2abababab ababcbaba 輸出 cpp 52 include using namespace std typedef unsign...

牛客網 字串的統計字串

牛客網 題目描述 給定乙個字串str,返回str的統計字串。例如 aaabbbbcccd 的統計字串為 a 3 b 4 c 3 d 1 輸入字元長度都大於1 解題思路 1.第一種方法輸入的是 aaa n 這種字元。因此我們將當前字元cur指向首字元,從1 字串長度的範圍內開始遍歷判斷當前字元cur是...