国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

字符串?dāng)U展

2019-11-14 10:49:27
字體:
供稿:網(wǎng)友

think: 1、一定要注意細節(jié),一失足成千古恨 2、學(xué)會靈活變通

sdut原題鏈接

字符串?dāng)U展 Time Limit: 1000MS Memory Limit: 65536KB

PRoblem Description Tom有些時候為了記錄的方便,常常將一些連續(xù)的字符用擴展符’-‘簡單表示。比如abcdefg可以簡寫為a-g,即用起始的字符和終止字符中間加上一個擴展符’-‘來表示這個字符串。但是為了處理的方便,Tom又必須將這些我們簡單記法擴展成原來的字符串。很明顯要是人工來做的話必定很麻煩,Tom知道計算機可以幫助他完成這個任務(wù),但是他卻不會編程,這的確讓他很上火。他知道今天是山東理工大學(xué)第三屆ACM校賽的日子,屆時來自全校的編程愛好者都會來參加比賽,他很興奮,因為這個困惑他良久的問題終于要被解決了。給你一個含有擴展符’-‘的字符串,你的任務(wù)就是將他還原成原來的字符串。要求是只處理[a-z]、[A-Z]、[0-9]范圍內(nèi)的字符擴展,即只有當(dāng)擴展符前后的字符同時是小寫字母、大寫字母或數(shù)字時并且擴展符前面的字符不大于后面的字符才進行擴展,其它情況不進行擴展,原樣輸出。例如:a-R、D-e、0-b、4-B等字符串都不進行擴展。

Input 第一行是一個正整數(shù)T,表示共有T組測試數(shù)據(jù)(T < 100)。下面的T行,每一行包括一個長度不大于1000的待擴展字符串.

Output 每組測試數(shù)據(jù)輸出一行擴展后的字符串。

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 山東理工大學(xué)第三屆ACM程序設(shè)計競賽

以下為accepted代碼

#include <stdio.h>#include <string.h>#define MAXN 1400int main(){ char s[MAXN], ch; int T, i, len; scanf("%d", &T); getchar(); while(T--) { scanf("%s", s); ///gets(s);///3676 移除了輸入數(shù)據(jù)中的 '/r',修復(fù)了某些寫法下 gets() 會 WA 的問題。by bLue len = strlen(s); for(i = 0; i < len; i++) { if(s[i] != '-') printf("%c", s[i]); else { if((s[i-1]>='a'&&s[i-1]<='z') && (s[i+1]>='a'&&s[i+1]<='z') && (s[i-1]<=s[i+1])) { ch = s[i-1] + 1; while(ch < s[i+1]) { printf("%c", ch); ch++; } } else if((s[i-1]>='A'&&s[i-1]<='Z') && (s[i+1]>='A'&&s[i+1]<='Z') && (s[i-1]<=s[i+1])) { ch = s[i-1] + 1; while(ch < s[i+1]) { printf("%c", ch); ch++; } } ///else if((s[i-1]>='0'&&s[i-1]<='9') && (s[i+1]<='0'&&s[i+1]<='9') && (s[i-1]<=s[i+1])) else if((s[i-1]>='0'&&s[i-1]<='9') && (s[i+1]>='0'&&s[i+1]<='9') && (s[i-1]<=s[i+1])) { ch = s[i-1] + 1; while(ch < s[i+1]) { printf("%c", ch); ch++; } } else printf("-"); } } printf("/n"); } return 0;}/***************************************************User name: jk160630Result: AcceptedTake time: 0msTake Memory: 104KBSubmit time: 2017-02-04 21:42:00****************************************************/

以下為wrong answer代碼 (一直未找出錯誤在哪里,希望有小伙伴可以指點留言)

#include <stdio.h>#include <string.h>#define MAXN 1400int main(){ char s[MAXN]; int T, i, len; scanf("%d", &T); getchar(); while(T--) { scanf("%s", s); len = strlen(s); if(len > 1) { for(i = 0; i < len-2; i++) { if(s[i] == s[i+2] && s[i+1] == '-') { printf("%c", s[i]); i += 1; } else if((s[i]>='a'&&s[i]<='z') && s[i+1] == '-' && (s[i+2]>=s[i]&&s[i+2]<='z')) { for(; s[i] < s[i+2]; s[i]++) printf("%c", s[i]); i += 1; } else if((s[i]>='A'&&s[i]<='Z') && s[i+1]=='-' && (s[i+2]>=s[i]&&s[i+2]<='Z')) { for(; s[i] < s[i+2]; s[i]++) printf("%c", s[i]); i += 1; } else if((s[i]>='0'&&s[i]<='9') && s[i+1]=='-' && (s[i+2]>=s[i]&&s[i+2]<='9')) { for(; s[i]<s[i+2]; s[i]++) printf("%c", s[i]); i += 1; } else printf("%c", s[i]); } i = len-3; if(s[i] == s[i+2] && s[i+1] == '-') { printf("%c", s[i+2]); } else if((s[i]>='a'&&s[i]<='z') && s[i+1] == '-' && (s[i+2]>=s[i]&&s[i+2]<='z')) { printf("%c", s[i+2]); } else if((s[i]>='A'&&s[i]<='Z') && s[i+1]=='-' && (s[i+2]>=s[i]&&s[i+2]<='Z')) { printf("%c", s[i+2]); } else if((s[i]>='0'&&s[i]<='9') && s[i+1]=='-' && (s[i+2]>=s[i]&&s[i+2]<='9')) { printf("%c", s[i+2]); } else { printf("%c", s[i+1]); printf("%c", s[i+2]); } printf("/n"); } else printf("%s/n", s); } return 0;}/***************************************************User name: jk160630Result: Wrong AnswerTake time: 4msTake Memory: 104KBSubmit time: 2017-02-04 21:46:02****************************************************/
上一篇:python反射

下一篇:匿名內(nèi)部類

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 铜川市| 海丰县| 青神县| 周至县| 亳州市| 商都县| 色达县| 武穴市| 滦平县| 太湖县| 潼关县| 正定县| 平乡县| 灵丘县| 阳原县| 昭觉县| 天津市| 陇西县| 阜阳市| 景德镇市| 宣恩县| 江都市| 贺兰县| 宁陵县| 怀来县| 莆田市| 郁南县| 黔西县| 宝坻区| 马公市| 武强县| 金坛市| 浙江省| 任丘市| 普格县| 三河市| 招远市| 大渡口区| 原阳县| 华蓥市| 利川市|