字串拓展

2022-05-03 08:06:09 字數 1371 閱讀 8582

time limit: 1000ms memory limit: 65536k

tom有些時候為了記錄的方便,常常將一些連續的字元用擴充套件符'-'簡單表示。比如abcdefg可以簡寫為a-g,即用起始的字元和終止字元中間加上乙個擴充套件符'-'來表示這個字串。但是為了處理的方便,tom又必須將這些我們簡單記法擴充套件成原來的字串。很明顯要是人工來做的話必定很麻煩,tom知道計算機可以幫助他完成這個任務,但是他卻不會程式設計,這的確讓他很上火。他知道今天是山東理工大學第三屆acm校賽的日子,屆時來自全校的程式設計愛好者都會來參加比賽,他很興奮,因為這個困惑他良久的問題終於要被解決了。給你乙個含有擴充套件符'-'的字串,你的任務就是將他還原成原來的字串。要求是只處理[a-z]、[a-z]、[0-9]範圍內的字元擴充套件,即只有當擴充套件符前後的字元同時是小寫字母、大寫字母或數字時並且擴充套件符前面的字元不大於後面的字元才進行擴充套件,其它情況不進行擴充套件,原樣輸出。例如:a-r、d-e、0-b、4-b等字串都不進行擴充套件。

第一行是乙個正整數t,表示共有t組測試資料(t < 100)

。下面的t行,每一行包括乙個長度不大於1000的待擴充套件字串.

每組測試資料輸出一行擴充套件後的字串。

3

adea-g-m02

acm-0-5-a-ac-cm-m-a-ac-cm-m

welcometothe3rdacm/icpccampusprogrammingcontestofsdut-1-3-a-z-a-z

adeabcdefghijklm02

acm-012345-aaccmm-aaccmm

welcometothe3rdacm/icpccampusprogrammingcontestofsdut-123-a-z-a-z

#include#includeint main()

{ int n, i, j, l, k, m;

char str[1001];

scanf("%d", &n);

for(i=0; i='a' &&str[j+1]<='z' || str[j-1]>='a' &&str[j+1]<='z' || str[j-1]>='0' &&str[j+1]<='9' ) && (str[j-1] <= str[j+1]))

{for(l =str[j-1]+1; l反思:這個題我又做了一遍,竟然wa了,我這次的**大體和上面的差不多,不同的是,我在while迴圈裡用gets輸入字串,但沒考考慮到gets是可讀空格的,當我輸入第一組資料後,按空格鍵,這樣迴圈次數就「被"減少了.  還有我在判斷拓展條件的時候,少加了乙個括號,就是這樣(()||()||()&&() );正確的應該是(   (  ()||()||() )  &&() )。如果少加的話,舉例:第三組資料 sdut-123 中,就會輸出sdut123,中間少加了『 - 』。

C 拓展字串,列舉型別

c 拓展字串 public static class stringmethod return result public static int toint32 this string str return result public static bool toboolean this string...

拓展 Python 之 字串編碼

計算機只認識數字。然而,我們平時在使用計算機時用的都是人類能讀懂的字元。如何能讓計算機能夠讀懂人類的字元?字元 翻譯過程 數字 所謂字元編碼,就是乙個字元如何對應乙個特定數字的標準。字元編碼發展的三個階段 1 ascii碼 乙個bytes代表乙個字元,1bytes 8bits,8bit可以表示0 2...

總結 字串匹配 KMP 和 拓展KMP

比起ac自動機,kmp就乙個next陣列,理解了如何初始化next後就可以搞一些模板題了,下面是還不錯的學習資料,清晰易懂,自己用的模板也來自它 next 0 1 j 1 for i 0 i for i 0,flag 0,j 0 i 接下來需要更加深入地了解next陣列,許多題目需要用到它的定義來預...