1003

作者: 笔墨流年乱浮生 | 来源:发表于2018-08-11 14:15 被阅读0次

//1003 我要通过!(20)(20 分)
//“答案正确”是自动判题系统给出的最令人欢喜的回复。本题属于PAT的“答案正确”大派送 —— 只要读入的字符串满足下列条件,系统就输出“答案正确”,否则输出“答案错误”。
//得到“答案正确”的条件是:
//1. 字符串中必须仅有P, A, T这三种字符,不可以包含其它字符;
//任意形如 xPATx 的字符串都可以获得“答案正确”,其中 x 或者是空字符串,或者是仅由字母 A 组成的字符串;
//如果 aPbTc 是正确的,那么 aPbATca 也是正确的,其中 a, b, c 均或者是空字符串,或者是仅由字母 A 组成的字符串。
//现在就请你为PAT写一个自动裁判程序,判定哪些字符串是可以获得“答案正确”的。
//输入格式: 每个测试输入包含1个测试用例。第1行给出一个自然数n (<10),是需要检测的字符串个数。接下来每个字符串占一行,字符串长度不超过100,且不包含空格。
//输出格式:每个字符串的检测结果占一行,如果该字符串可以获得“答案正确”,则输出YES,否则输出NO。
//输入样例:
//8
//PAT
//PAAT
//AAPATAA
//AAPAATAAAA
//xPATx
//PT
//Whatever
//APAAATAA
//输出样例:
//YES
//YES
//YES
//YES
//NO
//NO
//NO
//NO

C:

#include

int main(int argc, const char * argv[]) {

    int n = 0;

    char c;

    scanf("%d",&n);//输入字符串个数n

    while (getchar() != '\n');//接收字符串,直到回车

    for (int i = 0; i < n; i++) {  //对1-n个字符串做处理

    int pos = 0;//pos用来检查PAT的顺序,也作为P前、P&T、T后三部分的索引

    int cnt[3] = {0,0,0};//P前、P&T、T后三部分中A的个数,这里需要注意pos和cnt必须在for循环里,\

        //每个字符串都要重新初始化,在这里我出了错误

    while((c = getchar()) != '\n')//逐个字符读取

    {

        if (c == 'A') { //当前字符为A

            cnt[pos]++;//统计当前块的A的个数

        }else if(c == 'P' && pos == 0)//当前字符为P,并且前面只出现空字符或A

        {

            pos =1;

        }else if (c == 'T' && pos == 1)//当前字符为T,并且前面出现了字符P

        {

            pos =2;

        }else break;//跳出当前while循环

    }

    if (pos == 2 && c == '\n' && cnt[1] && (cnt[0] * cnt[1]) == cnt[2]) {

        //pos == 2 表示当前字符处理到T后\

      //  c == '\n' 表示当前字符处理到回车\

      //  cnt[1] 表示PT之间存在A\

     //   cnt[0] * cnt[1] == cnt[2])表示P前A的个数*P&TA的个数==T后A的个数

        printf("YES\n");

    }else printf("NO\n");

    if (c != '\n') {//这段代码是为了将当前字符串处理完,比如输入BCD,处理到B时break,后续字符无法处理,直接读完即可

            while ((c = getchar()) != '\n');

        }

    }

    return 0;

}

相关文章

  • 2019-08-17

    1003

  • PAT-最短路径题目汇总(Dijkstra+DFS)

    A1003、A1030、A1018,A1072、A1087、A1111 A1003 题意:给出N个城市(编号0~n...

  • 1003

    //1003 我要通过!(20)(20 分)//“答案正确”是自动判题系统给出的最令人欢喜的回复。本题属于PAT的...

  • 1003

  • 1003

    假期秋雨绵绵,淅淅沥沥,雨润大地,却阻碍人们外出闲游的心。 小朋友想吃虾,正好无事就去双福批发市场。时隔两年,变化...

  • 1003

    没通过?

  • 1003

    这道题让我想到了编译原理的内容,首先这道题的难点在于读懂第3个条件.这三个条件不是孤立的,是有联系的: 正确答案的...

  • 1003

    今天去上了手风琴课,顺便约了7号再上一节 看了夜场长津湖,从千里回家跪下那一刻,眼泪就第一次掉下来了。 感叹伟人的...

  • 1003

    昨晚差不多还是零点睡觉 听着广播睡着的 早上醒了继续睡 八点二十起床 妈妈已经做好了丰盛的早餐 红枣百合面汤 烩菜...

  • 1003

    租房子为啥这么难呢?只想租给一个人,却偏偏来两个人,理想和现实之间差很多个焦虑,头发在掉,痘在冒,也可能是我过于小...

网友评论

      本文标题:1003

      本文链接:https://www.haomeiwen.com/subject/hqrdbftx.html