待处理

import java.util.Scanner;
/*

  • 这题依次的报错:

  • 1.用(1<<30)-1声明数组长度

  • 2.声明gap时写成StringBuffer gap=null,报空指针异常

  • 3.gap.deletecharat(gap.length()没写-1,爆)*/
    public class sakuragi {
    public static void main(String args[]) {
    Scanner sc=new Scanner(System.in);
    char[] ch=sc.nextLine().toCharArray();
    StringBuffer gap = new StringBuffer();
    String[] prin=new String[10000000];
    int printop=0;
    for(int i=0;i<ch.length;i++) {
    if(ch[i]==‘B’) {
    gap.deleteCharAt(gap.length()-1);
    }else if(ch[i] ==‘P’) {
    prin[printop++]=gap.toString();
    }else {//如果是小写字母
    gap=gap.append(ch[i]);

     		}
     	}
     	
     	//处理x,y
     	int T=sc.nextInt();
     	while(T>0) {
     		T--;
     		int x=sc.nextInt()-1;
     		int y=sc.nextInt()-1;
     		int ans=0;
     		if(!(prin[x].length()>prin[y].length())) {
     			int len=prin[x].length();
     			for(int i=0;i<prin[y].length()-len+1;i++) {
     				
     				if(prin[y].substring(i, i+len).equals(prin[x])) {
     					i=i+len-1;
     					ans++;
     				}else {
     					continue;
     				}
     			}
     		}
     		System.out.println(ans);
     	}
     }
    

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值