Vasya has recently learned to type and log on to the Internet. He immediately entered a chat room and decided to say hello to everybody. Vasya typed the word s. It is considered that Vasya managed to say hello if several letters can be deleted from the typed word so that it resulted in the word "hello". For example, if Vasya types the word "ahhellllloou", it will be considered that he said hello, and if he types "hlelo", it will be considered that Vasya got misunderstood and he didn't manage to say hello. Determine whether Vasya managed to say hello by the given word s.
The first and only line contains the word s, which Vasya typed. This word consisits of small Latin letters, its length is no less that 1 and no more than 100 letters.
If Vasya managed to say hello, print "YES", otherwise print "NO".
ahhellllloou
YES
hlelo
NO
#include <iostream>
#include <cstring>
using namespace std;
string hello="hello",str;
int len=0;
bool find(int i,int j){
if(j==5) return 1;
if(i==len) return 0;
if(str[i]==hello[j]) find(i+1,j+1);
else find(i+1,j);
}
int main(){
while(cin>>str){
len=str.size();
if(find(0,0)) cout<<"YES"<<endl;
else cout<<"NO"<<endl;
}
return 0;
}
本文介绍了一个简单的程序,用于判断输入的字符串中是否可以通过删除某些字符来形成单词hello。程序通过递归的方式检查输入字符串,并最终输出判断结果。
511

被折叠的 条评论
为什么被折叠?



