社区讨论

倒数第二个点超时,怎么改

P1308[NOIP 2011 普及组] 统计单词数参与者 1已保存回复 0

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
0 条
当前快照
1 份
快照标识符
@mi5hmfbl
此快照首次捕获于
2025/11/19 12:13
4 个月前
此快照最后确认于
2025/11/19 12:13
4 个月前
查看原帖
CPP
var
 a,b:ansistring;
 n,i,s,f,b1,a1,j,check,ans:longint;
begin
 s:=1;
 readln(b);
 readln(a);
 b:=lowercase(b);
 a:=lowercase(a);
 a1:=length(a);
 b1:=length(b);
 while s<>0 do
  begin
   s:=pos(b,a);
   if (s<>0)and(s=1)and(a[s+b1]=' ') then
    begin
     inc(ans);
     if ans=1 then f:=s-1;
    end
   else
    if (s<>0)and(s+b1-1=a1)and(a[s-1]=' ') then
    begin
     inc(ans);
     if ans=1 then f:=s-1;
    end
    else
    if (s<>0)and(a[s+b1]=' ')and(a[s-1]=' ')then
     begin
      inc(ans);
      if ans=1 then f:=s-1;
     end;
    if s<>0 then
     for i:=s to s+b1-1 do
      a[i]:='\';
  end;
  if ans=0 then write('-1')
  else write(ans,' ',f);
end.

回复

0 条回复,欢迎继续交流。

正在加载回复...