永发信息网

寻找子串位置 pascal

答案:1  悬赏:30  手机版
解决时间 2021-04-23 22:02
给出字符串a和字符串b,保证b是a的一个子串,请你输出b在a中第一次出现的位置。
输入:
仅一行包含两个字符串a和b
输出:
仅一行一个整数

样例输入 Sample Input
abcd bc
样例输出 Sample Output
2

注意!!!Pascal用户请注意:两个字符串之间可能包含多个空格
最佳答案
var next:array [1 ..1000001] of longint;
s,t:ansistring;
procedure get_next(t:ansistring);
var j,k:integer;
begin
j:=1; k:=0;
while j<length(t) do
begin
if (k=0) or (t[j]=t[k]) then
begin
inc(j);
inc(k);
next[j]:=k;
end
else k:=next[k];
end;
end;
function index(s:ansistring;t:ansistring):longint;
var i,j:longint;
begin
get_next(t);
index:=0;
i:=1; j:=1;
while (i<=length(s))and(j<=length(t)) do
begin
if (j=0)or(s[i]=t[j]) then
begin
inc(i);
inc(j);
end
else j:=next[j];
if j>length(t) then index:=i-length(t);
end;
end;
begin
readln(s);
t:=copy(s,1,pos(' ',s)-1);
delete(s,1,pos(' ',s));
while s[1]=' ' do delete(s,1,1);
writeln(index(t,s));
readln;
end.
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
信达汽车配件销售服务中心怎么去啊,有知道地
关心别人的谚语小学生,这是小学二年级训练计
二战美国M10 M36坦克歼击车问题
在老公包里发现避孕套,自己该怎么做?
求《熊猫大侠》和《2012》的观看地址。最好是
完美宽城区昊宇服务中心在哪里啊,我有事要去
凡士林一般在什么地方可以买到?多少钱一瓶
DNF23级在死亡塔有什么任务
谁能给我提供钢水包涡轮减速机的购买方式,要
高一物理 运动
家里电脑出现自动关机怎么办
吃什么食物可以促进眼睫毛生长和长得浓密点?
影驰GTX260+骨灰黑将和GTX275黑将哪个好
我没用G,为什么dnf总是连接中断?
教师评语有关懒惰的,优秀班干部评价
推荐资讯
为什么我的耳机里会一直有杂音?
有关坚持梦想的段落,要一个关于梦想的好段。
怎么样才可以让问问升级
皇帝的新装作者是谁,皇帝的新装作者是谁,来
作图题没有特别说明选择电流表和电压表的大量
关于夏天的雨的句子,描写夏天的雨的诗句有哪
磁盘C内存不够,QQ旋舞如何才能存在电脑上
正感冒,来月经能不能继续吃药
大家对张筱雨的评价如何
秋天到了.该用什么保养品
火宝宝五技能位,想要的是高输出高攻击用什么
ZG血领主曼多基尔场院中的迅猛龙能不能当宠物
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?