NC21689. 网上冲浪
描述
新新最近学会了网上冲浪。她立即走进聊天室,决定和大家打个招呼。
新新输入了单词s。如果可以从输入的单词中删除几个字母,从而得到单词"hello",则认为新新成功地说了hello。
例如,如果新新输入"ahhellllloou"这个单词,就会被认为是他打招呼了,
如果她输入"hlelo",就会被认为是新新被误解了,没有成功地打招呼。判断新新是否能通过给定的单词来打招呼。
输入描述
第一行是唯一一行,包含了新新输入的单词s。这个词由小写英文字母组成,长度不少于1个,不超过100个字母。
输出描述
如果新新成功地打招呼,输出"YES",否则输出"NO"。
示例1
输入:
ahhellllloou
输出:
YES
C(clang 3.9) 解法, 执行用时: 3ms, 内存消耗: 508K, 提交时间: 2018-12-08 14:25:18
#include <stdio.h> main() { char a[100]; char b[6]="hello"; scanf("%s",a); int i=0,j=0; while(a[i]!='\0'&&b[j]!='\0'){ if(a[i]==b[j]){ i++;j++; }else{ i++; } } if(j==5){ printf("YES"); }else{ printf("NO"); } }
C++(clang++11) 解法, 执行用时: 6ms, 内存消耗: 508K, 提交时间: 2021-03-12 16:06:36
#include<iostream> using namespace std; int main() { int j=0; char a[105],b[]="hello"; cin>>a; for(int i=0;a[i]!='\0';i++) if(a[i]==b[j])j++; if(j==5) cout<<"YES"; else cout<<"NO"; return 0; }
Python3 解法, 执行用时: 67ms, 内存消耗: 7132K, 提交时间: 2021-09-05 16:46:22
word = input() cstr = 'hello' k = 0 for i in word: if cstr[k] == i: k=k+1 if k == len(cstr): break if k == len(cstr): print('YES') else: print('NO')