【题解】AT yahoo procon2017 qual a题解

AT_yahoo_procon2017_qual_a 题解

思路分析

题目要求我们判断输入的是否为字符串 yahoo的全排列。

若一个字符串为字符串 yahoo的全排列,则它所含有的全部字母一定为字符串 yahoo所含有的全部字母。即要求判断下列条件是否成立。

  • y 的个数为一个。
  • a 的个数为一个。
  • h 的个数为一个。
  • o 的个数为两个。

统计个数后判断即可。

关键代码

int y = 0, a = 0, h = 0, o = 0;
for(int i = 0;i < s.size();i++)
{
    y += (s[i] == 'y');// 因为有就为1,无就为0。刚好起到统计的作用。
    a += (s[i] == 'a');
    h += (s[i] == 'h');
    o += (s[i] == 'o');
}
if(y == 1 && a == 1 && h == 1 && o == 2)
{
    cout << "YES" << endl;
}
else
{
    cout << "NO" << endl;
}
posted @ 2022-10-21 17:19  邻补角-SSA  阅读(13)  评论(0)    收藏  举报  来源