PAT 1040 有几个PAT (25分)(Java)

题目描述

  字符串 APPAPT 中包含了两个单词 PAT,其中第一个 PAT 是第 2 位§,第 4 位(A),第 6 位(T);第二个 PAT 是第 3 位§,第 4 位(A),第 6 位(T)。

  现给定字符串,问一共可以形成多少个 PAT?

输入格式:

  输入只有一行,包含一个字符串,长度不超过10的5次方,只包含 P、A、T 三种字母。

输出格式:

 在一行中输出给定字符串中包含多少个 PAT。由于结果可能比较大,只输出对 1000000007 取余数的结果。

输入样例:

APPAPT

输出样例:

2

代码

package com.hbut.pat;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Pat_1040 {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        char[] c = br.readLine().toCharArray();
        long t = 0,at = 0, pat = 0;
        for (int i = c.length - 1; i>= 0; i--) {
            if (c[i] == 'T')
                t++;
            else if (c[i] == 'A')
                at = (t + at) % 1000000007 ;
            else
                pat = (pat + at) % 1000000007;
        }
        System.out.print(pat % 1000000007 );
    }
}
全部评论

相关推荐

不愿透露姓名的神秘牛友
10-12 10:48
已编辑
秋招之苟:邻居家老哥19届双2硕大厂开发offer拿遍了,前几天向他请教秋招,他给我看他当年的简历,0实习实验室项目技术栈跟开发基本不沾边😂,我跟他说这个放在现在中厂简历都过不了
点赞 评论 收藏
分享
耀孝女:就是你排序挂了
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
11-24 20:55
阿里国际 Java工程师 2.7k*16.0
程序员猪皮:没有超过3k的,不太好选。春招再看看
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务