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

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

字符串?dāng)U展

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

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

sdut原題鏈接

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

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

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

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

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****************************************************/
上一篇:圖論

下一篇:0007 函數(shù)或方法

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 秦安县| 崇义县| 湘潭县| 安国市| 枞阳县| 临武县| 邢台市| 枣强县| 玉溪市| 耿马| 赞皇县| 揭东县| 图木舒克市| 团风县| 宜良县| 卢湾区| 沧源| 乡宁县| 抚远县| 涟水县| 凌云县| 永吉县| 康平县| 米易县| 安远县| 汉源县| 高尔夫| 平湖市| 新宁县| 错那县| 南投县| 高邮市| 巴林右旗| 永寿县| 屯留县| 尖扎县| 城口县| 汉沽区| 余姚市| 余姚市| 龙游县|