比赛 |
暑假培训一 |
评测结果 |
AAAAAWWWWA |
题目名称 |
字符串的展开 |
最终得分 |
60 |
用户昵称 |
bing |
运行时间 |
0.000 s |
代码语言 |
Pascal |
内存使用 |
0.00 MiB |
提交时间 |
2008-07-17 11:34:50 |
显示代码纯文本
program expand(input,output);
var
s,s1:string;
p1,p2,p3,ch:char;
f1,f2:text;
l,i,i1,k:integer;
j,m,n:char;
begin
assign(f1,'expand.in');reset(f1);
assign(f2,'expand.out');rewrite(F2);
readln(f1,p1,ch,p2,ch,p3);
readln(f1,s);
l:=length(s);
i:=0;
repeat i:=i+1;
if s[i]='-' then
if ((s[i-1]in['a'..'z'])and (s[i+1]in['a'..'z']))or
((s[i-1]in['0'..'9'])and (s[i+1]in['0'..'9']))
then if ord(s[i-1])<ord(s[i+1]) then
if ord(s[i-1])+1=ord(s[i+1]) then delete(s,i,1)
else begin
m:=succ(s[i-1]);n:=pred(s[i+1]);
delete(s,i,1);
if p1='3' then begin for j:=m to n do
for k:=1 to ord(p2)-48 do
insert('*',s,i);
writeln(f2,s);
close(F2);close(f1);
exit;end;
if p1='2' then begin m:=chr(ord(m)-32);n:=chr(ord(n)-32);end;
if p3='2' then for j:=n downto m do
for k:=1 to ord(p2)-48 do begin
insert(j,s,i);
i:=i+1;
l:=l+1;end;
if p3='1' then for j:=m to n do
for k:=1 to ord(p2)-48 do begin
insert(j,s,i);
i:=i+1;
l:=l+1;end;
end;
until i>l;
writeln(f2,s);
close(f2);close(f1);
end.