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

首頁 > 學院 > 開發設計 > 正文

P1098 字符串展開

2019-11-14 12:32:15
字體:
來源:轉載
供稿:網友

題目描述

在輸入的字符串中,用連續遞增的字母獲數字串替代其中的減號。(1)出現了減號“-”,減號兩側同為小寫字母或數字,且按照ASCII碼的順序,減號右邊的字符大于左邊的字符。(2) p1=1時,填充小寫字母;p1=2時,填充大寫字母。p1=3時,填充的字母個數相同的星號“*”。(3) p2=k表示同一個字符要連續填充k個。(4) p3=1表示維持原來順序,p3=2表示采用逆序輸出。(5) 如果減號右邊的字符恰好是左邊字符的后繼,只刪除中間的減號。如果減號右邊的字符按照ASCII碼的順序小于或等于左邊字符,輸出時,要保留中間的減號。

樣例輸入

1 2 1abcs-w1234-9s-4zz

樣例輸出

abcsttuuvvw1234556677889s-4zz

思路

O(n)模擬,判斷每種情況,按題意模擬。var a,b,c:longint; s:string;PRocedure main(p:longint);var i,j:longint;begin if s[p+1]<=s[p-1] then write('-') else if c=1 then for i:=(ord(s[p-1])+1) to (ord(s[p+1])-1) do for j:=1 to b do if a=3 then write('*') else if (s[p-1]>='a')and(s[p-1]<='z')and(a=2) then write(upcase(chr(i))) else write(chr(i)) else for i:=(ord(s[p+1])-1) downto (ord(s[p-1])+1) do for j:=1 to b do if a=3 then write('*') else if (s[p-1]>='a')and(s[p-1]<='z')and(a=2) then write(upcase(chr(i))) else write(chr(i));end;var i:longint;begin readln(a,b,c); readln(s); write(s[1]); for i:=2 to length(s)-1 do if s[i]<>'-' then write(s[i]) else if ((s[i-1]>='0')and(s[i-1]<='9')and(s[i+1]>='0')and(s[i+1]<='9'))or((s[i-1]>='a')and(s[i-1]<='z')and(s[i+1]<='a')and(s[i+1]>='z')) then main(i) else write(s[i]); writeln(s[length(s)]);end.
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 叶城县| 万宁市| 凤冈县| 通州市| 和平县| 安龙县| 湘潭县| 通辽市| 富宁县| 缙云县| 德保县| 屯门区| 新郑市| 乐业县| 清新县| 南川市| 桃园市| 梨树县| 池州市| 河津市| 和龙市| 黄浦区| 资溪县| 宁城县| 苗栗县| 昌图县| 新宾| 鞍山市| 商洛市| 常宁市| 利川市| 曲靖市| 武乡县| 牙克石市| 贺州市| 普陀区| 蓬溪县| 潞西市| 永安市| 平山县| 民勤县|