程序如下:
package test.com;
import java.util.*;
public class Main_route
{
public static void main(String[] args)
{
Scanner sc = new Scanner(System.in);
while(sc.hasNext())
{
char[] ch1,ch2,ch3;
String str1=sc.nextLine();
String str2=sc.nextLine();
String str3=sc.nextLine();
ch1=str1.toCharArray();
ch2=str2.toCharArray();
ch3=str3.toCharArray();
char[] ch4=new char[ch1.length];
for(int i=0;i<ch1.length;i++)
{
ch4[i]=ch1[ch1.length-1-i];
}
int forword = judge(ch1,ch2,ch3);
int back = judge(ch4,ch2,ch3);
if(forword==1&&back==1)
{
System.out.println("both");
}
else if(forword==1)
System.out.println("forword");
else if(back==1)
System.out.println("backward");
else
System.out.println("invalid");
}
}
public static int judge(char[] ch1,char[] ch2,char[] ch3)
{
int sum=0;
int point=0;
for(int i=0;i<ch2.length;i++)
{
int j=point;
for(;j<ch1.length;j++)
{
if(ch2[i]==ch1[j])
{
point =j+1;
sum++;
break;
}
}
}
if(sum==ch2.length)
{
int point_1=point;
int h=0;
for(int i=0;i<ch3.length;i++)
{
int j=point_1;
for(;j<ch1.length;j++)
{
if(ch3[i]==ch1[j])
{
point_1=j+1;
h++;
break;
}
}
}
if(h==ch3.length)
{
return 1;
}
else
{
return -1;
}
}
else
return -1;
}
public static void print(char [] l)
{
for(int i=0;i<l.length;i++)
System.out.print(" "+l[i]);
}
}
结果如下;
atob
a
b
forword
aaacaaa
aca
aa
both
第二个还没看,时间就到了。