标签:string i+1 == sys util rgs main a* span
思路:对A进行遍历,然后遍历A前面有a个P,A后面有b个T,那么就有a*b个PAT,这样的A有c个的话,总数就是a*b*c,三个超时,看来需要优化
import java.util.Scanner; public class Main { public static void main(String[] args) { // write your code here Scanner sc=new Scanner(System.in); String str=sc.next(); char[] input=str.toCharArray(); int i,j,k,l,m1=0,m2=0,m3=0,n; int[] c1=new int[100000]; int[] c2=new int[100000]; int[] c3=new int[100000]; for (l=0;l<100000;l++){ c1[l]=0; c2[l]=0; c3[l]=0; } for (i=0;i<input.length;i++){ if (input[i]==‘A‘&&i!=0){ c1[i]++; for (j=0;j<i;j++){ if (input[j]==‘P‘){ c2[i]++; } } for (k=i+1;k<input.length;k++){ if (input[k]==‘T‘){ c3[i]++; } } } } long sum=0; for (n=0;n<=input.length;n++){ sum=sum+c1[n]*c2[n]*c3[n]; } System.out.println(sum%1000000007); } }
标签:string i+1 == sys util rgs main a* span
原文地址:https://www.cnblogs.com/zhuzehua/p/9835739.html