码迷,mamicode.com
首页 > 其他好文 > 详细

1040(15)

时间:2018-10-23 14:35:48      阅读:187      评论:0      收藏:0      [点我收藏+]

标签: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);
    }
}

 

1040(15)

标签:string   i+1   ==   sys   util   rgs   main   a*   span   

原文地址:https://www.cnblogs.com/zhuzehua/p/9835739.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!