PAT乙级1003: 我要通过

亦凉 2022-05-09 12:34 310阅读 0赞

题目:

70

解题思路:

用map来保存每个元素出现的次数 ,本题的要点是找规律,找到aPcAc(其中abc可以是空字符串或者只包含A的字符串,并且a的个数*b的个数=c的个数)

题解:

  1. #include<iostream>
  2. #include<map>
  3. using namespace std;
  4. int main()
  5. {
  6. // freopen("D://test.txt","r",stdin);
  7. int n;
  8. cin>>n;
  9. string str[n];
  10. for(int i=0;i<n;i++)
  11. {
  12. cin>>str[i];
  13. }
  14. for(int i=0;i<n;i++)
  15. {
  16. map<char,int> m;
  17. int ppos=-1,tpos=-1;
  18. string s=str[i];
  19. for(unsigned int i=0;i<s.length();i++)
  20. {
  21. m[s[i]]++;//用来累加各个字符的个数
  22. if(s[i]=='P')
  23. ppos=i;
  24. if(s[i]=='T')
  25. tpos=i;
  26. }
  27. if(m['P']==1&&m['T']==1&&ppos<tpos&&m.size()==3)
  28. {
  29. if(ppos*(tpos-1-ppos)==s.length()-1-tpos)
  30. cout<<"YES"<<endl;
  31. else
  32. cout<<"NO"<<endl;
  33. }
  34. else
  35. cout<<"NO"<<endl;
  36. }
  37. }

踩坑:

  • 可能由于题目是英文翻译过来的,所以读题目不能全按中文的思维来。

发表评论

表情:
评论列表 (有 0 条评论,310人围观)

还没有评论,来说两句吧...

相关阅读

    相关 PAT B 1003 通过

    1003 我要通过! (20分) “答案正确”是自动判题系统给出的最令人欢喜的回复。本题属于 PAT 的“答案正确”大派送 —— 只要读入的字符串满足下列条件,系统就输出

    相关 PAT乙级1003

    1003 我要通过!(20)(20 分) “答案正确”是自动判题系统给出的最令人欢喜的回复。本题属于PAT的“答案正确”大派送 —— 只要读入的字符串满足下列条件,系统就输出

    相关 PAT乙级1003通过

    题目: ![70][] 解题思路: > 用map来保存每个元素出现的次数 ,本题的要点是找规律,找到aPcAc(其中abc可以是空字符串或者只包含A的字符串,并且

    相关 PAT~乙级~1003通过! ~python

    题目描述: “答案正确”是自动判题系统给出的最令人欢喜的回复。本题属于 PAT 的“答案正确”大派送 —— 只要读入的字符串满足下列条件,系统就输出“答案正确”,否则输出“答

    相关 1003 通过

    “答案正确”是自动判题系统给出的最令人欢喜的回复。本题属于 PAT 的“答案正确”大派送 —— 只要读入的字符串满足下列条件,系统就输出“答案正确”,否则输出“答案错误”。

    相关 PAT 1003 通过! (20分)(Java)

    题目描述   “答案正确”是自动判题系统给出的最令人欢喜的回复。本题属于 PAT 的“答案正确”大派送 —— 只要读入的字符串满足下列条件,系统就输出“答案正确”,否则输