Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include "stdio.h"#define MAXN 100005char A[MAXN], B[MAXN];int next[MAXN][26]={0};int main(){int la,lb,ca[30]={0},cb[30]={0},i,ia,ib,j,k,rep;scanf("%s%s",A,B);for(ia=0;A[ia];++ia) ca[A[ia]-'a']++;for(ib=0;B[ib];++ib) cb[B[ib]-'a']++;la=ia;lb=ib;rep=1;for(i=0;i<26;++i){if(cb[i]!=0&&ca[i]==0){rep=-1;break;}}if(rep!=-1){for(ia=0;ia<=la;++ia){for(i=0;i<26;i++)next[ia][i]=-1;}for(i=0;i<26;++i)