字串擴充套件
timelimit: 1000ms memory limit: 65536kb
submit
statistic
problem description
tom有些時候為了記錄的方便,常常將一些連續的字元用擴充套件符
'-'簡單表示。比如
abcdefg
可以簡寫為
a-g,
即用起始的字元和終止字元中間加上乙個擴充套件符
'-'來表示這個字串。但是為了處理的方便,
tom又必須將這些我們簡單記法擴充套件成原來的字串。很明顯要是人工來做的話必定很麻煩,
tom知道計算機可以幫助他完成這個任務,但是他卻不會程式設計,這的確讓他很上火。他知道今天是山東理工大學第三屆
acm校賽的日子,屆時來自全校的程式設計愛好者都會來參加比賽,他很興奮,因為這個困惑他良久的問題終於要被解決了。給你乙個含有擴充套件符
'-'的字串,你的任務就是將他還原成原來的字串。要求是只處理
[a-z]
、[a-z]
、[0-9]
範圍內的字元擴充套件,即只有當擴充套件符前後的字元同時是小寫字母、大寫字母或數字時並且擴充套件符前面的字元不大於後面的字元才進行擴充套件,其它情況不進行擴充套件,原樣輸出。例如:
a-r、
d-e、
0-b、
4-b等字串都不進行擴充套件。
input
第一行是乙個正整數
t,表示共有
t組測試資料(
t < 100
)。下面的
t行,每一行包括乙個長度不大於
1000
的待擴充套件字串
.output
每組測試資料輸出一行擴充套件後的字串。
example input 3
adea-g-m02
acm-0-5-a-ac-cm-m-a-ac-cm-m
welcometothe3rdacm/icpccampusprogrammingcontestofsdut-1-3-a-z-a-z
example output
adeabcdefghijklm02
acm-012345-aaccmm-aaccmm
welcometothe3rdacm/icpccampusprogrammingcontestofsdut-123-a-z-a-z
hint
author
山東理工大學第三屆
acm程式設計競賽
#include #include#include#include#include#include#include#include#define cmax 100003
using namespace std;
int main()
{ int t;
cin>>t;
while(t--)
{char a[1001],u;
scanf("%s",a);
for(int i=0;a[i];i++)
{if(a[i]!='-')
{cout<='0')&&(a[i+1]<='9'))
||((a[i-1]>='a')&&(a[i+1]<='z'))||((a[i-1]>='a')&&(a[i+1]<='z'))))
{u = a[i-1]+1;
while(u
SDUT ACM 1916 字串擴充套件
include includeint main char str 1100 ch int t,k,i scanf d n t while t gets str k strlen str for i 0 i 0 str i 1 9 str i 1 0 str i 1 9 str i 1 str i 1...
字串擴充套件
真心的不應該!一天也沒做幾個題,自己太隨便,一些問題本身並不難,都是自己不按正常思路想。做題應該一步乙個腳印,明白自己下一步要幹嘛,不要憑空想象,然後再填補漏洞,智者會把錯誤扼殺在搖籃中!tom有些時候為了記錄的方便,常常將一些連續的字元用擴充套件符 簡單表示。比如abcdefg可以簡寫為a g,即...
字串擴充套件
problem description tom有些時候為了記錄的方便,常常將一些連續的字元用擴充套件符 簡單表示。比如abcdefg可以簡寫為a g,即用起始的字元和終止字元中間加上乙個擴充套件符 來表示這個字串。但是為了處理的方便,tom又必須將這些我們簡單記法擴充套件成原來的字串。很明顯要是人工...